lspeasy / core/src / getDefinitionForRequest
Function: getDefinitionForRequest()
function getDefinitionForRequest<N, M>(namespace, methodKey): {
CallHierarchy: {
IncomingCalls: {
Direction: "clientToServer";
Method: "callHierarchy/incomingCalls";
};
OutgoingCalls: {
Direction: "clientToServer";
Method: "callHierarchy/outgoingCalls";
};
};
Client: {
Registration: {
Direction: "serverToClient";
Method: "client/registerCapability";
};
Unregistration: {
Direction: "serverToClient";
Method: "client/unregisterCapability";
};
};
CodeAction: {
Resolve: {
ClientCapability: "textDocument.codeAction.resolveSupport";
Direction: "clientToServer";
Method: "codeAction/resolve";
ServerCapability: "codeActionProvider.resolveProvider";
};
};
CodeLens: {
Resolve: {
ClientCapability: "textDocument.codeLens.resolveSupport";
Direction: "clientToServer";
Method: "codeLens/resolve";
ServerCapability: "codeLensProvider.resolveProvider";
};
};
CompletionItem: {
CompletionResolve: {
ClientCapability: "textDocument.completion.completionItem.resolveSupport";
Direction: "clientToServer";
Method: "completionItem/resolve";
ServerCapability: "completionProvider.resolveProvider";
};
};
DocumentLink: {
Resolve: {
ClientCapability: "textDocument.documentLink";
Direction: "clientToServer";
Method: "documentLink/resolve";
ServerCapability: "documentLinkProvider.resolveProvider";
};
};
InlayHint: {
Resolve: {
ClientCapability: "textDocument.inlayHint.resolveSupport";
Direction: "clientToServer";
Method: "inlayHint/resolve";
ServerCapability: "inlayHintProvider.resolveProvider";
};
};
Lifecycle: {
Initialize: {
Direction: "clientToServer";
Method: "initialize";
};
Shutdown: {
Direction: "clientToServer";
Method: "shutdown";
};
};
TextDocument: {
CallHierarchyPrepare: {
ClientCapability: "textDocument.callHierarchy";
Direction: "clientToServer";
Method: "textDocument/prepareCallHierarchy";
ServerCapability: "callHierarchyProvider";
};
CodeAction: {
ClientCapability: "textDocument.codeAction";
Direction: "clientToServer";
Method: "textDocument/codeAction";
ServerCapability: "codeActionProvider";
};
CodeLens: {
ClientCapability: "textDocument.codeLens";
Direction: "clientToServer";
Method: "textDocument/codeLens";
ServerCapability: "codeLensProvider";
};
ColorPresentation: {
ClientCapability: "textDocument.colorProvider";
Direction: "clientToServer";
Method: "textDocument/colorPresentation";
ServerCapability: "colorProvider";
};
Completion: {
ClientCapability: "textDocument.completion";
Direction: "clientToServer";
Method: "textDocument/completion";
ServerCapability: "completionProvider";
};
Declaration: {
ClientCapability: "textDocument.declaration";
Direction: "clientToServer";
Method: "textDocument/declaration";
ServerCapability: "declarationProvider";
};
Definition: {
ClientCapability: "textDocument.definition";
Direction: "clientToServer";
Method: "textDocument/definition";
ServerCapability: "definitionProvider";
};
DocumentColor: {
ClientCapability: "textDocument.colorProvider";
Direction: "clientToServer";
Method: "textDocument/documentColor";
ServerCapability: "colorProvider";
};
DocumentDiagnostic: {
ClientCapability: "textDocument.diagnostic";
Direction: "clientToServer";
Method: "textDocument/diagnostic";
ServerCapability: "diagnosticProvider";
};
DocumentFormatting: {
ClientCapability: "textDocument.formatting";
Direction: "clientToServer";
Method: "textDocument/formatting";
ServerCapability: "documentFormattingProvider";
};
DocumentHighlight: {
ClientCapability: "textDocument.documentHighlight";
Direction: "clientToServer";
Method: "textDocument/documentHighlight";
ServerCapability: "documentHighlightProvider";
};
DocumentLink: {
ClientCapability: "textDocument.documentLink";
Direction: "clientToServer";
Method: "textDocument/documentLink";
ServerCapability: "documentLinkProvider";
};
DocumentOnTypeFormatting: {
ClientCapability: "textDocument.onTypeFormatting";
Direction: "clientToServer";
Method: "textDocument/onTypeFormatting";
ServerCapability: "documentOnTypeFormattingProvider";
};
DocumentRangeFormatting: {
ClientCapability: "textDocument.rangeFormatting";
Direction: "clientToServer";
Method: "textDocument/rangeFormatting";
ServerCapability: "documentRangeFormattingProvider";
};
DocumentRangesFormatting: {
ClientCapability: "textDocument.rangeFormatting.rangesSupport";
Direction: "clientToServer";
Method: "textDocument/rangesFormatting";
ServerCapability: "documentRangeFormattingProvider.rangesSupport";
};
DocumentSymbol: {
ClientCapability: "textDocument.documentSymbol";
Direction: "clientToServer";
Method: "textDocument/documentSymbol";
ServerCapability: "documentSymbolProvider";
};
FoldingRange: {
ClientCapability: "textDocument.foldingRange";
Direction: "clientToServer";
Method: "textDocument/foldingRange";
ServerCapability: "foldingRangeProvider";
};
Hover: {
ClientCapability: "textDocument.hover";
Direction: "clientToServer";
Method: "textDocument/hover";
ServerCapability: "hoverProvider";
};
Implementation: {
ClientCapability: "textDocument.implementation";
Direction: "clientToServer";
Method: "textDocument/implementation";
ServerCapability: "implementationProvider";
};
InlayHint: {
ClientCapability: "textDocument.inlayHint";
Direction: "clientToServer";
Method: "textDocument/inlayHint";
ServerCapability: "inlayHintProvider";
};
InlineCompletion: {
ClientCapability: "textDocument.inlineCompletion";
Direction: "clientToServer";
Method: "textDocument/inlineCompletion";
ServerCapability: "inlineCompletionProvider";
};
InlineValue: {
ClientCapability: "textDocument.inlineValue";
Direction: "clientToServer";
Method: "textDocument/inlineValue";
ServerCapability: "inlineValueProvider";
};
LinkedEditingRange: {
ClientCapability: "textDocument.linkedEditingRange";
Direction: "clientToServer";
Method: "textDocument/linkedEditingRange";
ServerCapability: "linkedEditingRangeProvider";
};
Moniker: {
ClientCapability: "textDocument.moniker";
Direction: "clientToServer";
Method: "textDocument/moniker";
ServerCapability: "monikerProvider";
};
PrepareRename: {
ClientCapability: "textDocument.rename.prepareSupport";
Direction: "clientToServer";
Method: "textDocument/prepareRename";
ServerCapability: "renameProvider.prepareProvider";
};
References: {
ClientCapability: "textDocument.references";
Direction: "clientToServer";
Method: "textDocument/references";
ServerCapability: "referencesProvider";
};
Rename: {
ClientCapability: "textDocument.rename";
Direction: "clientToServer";
Method: "textDocument/rename";
ServerCapability: "renameProvider";
};
SelectionRange: {
ClientCapability: "textDocument.selectionRange";
Direction: "clientToServer";
Method: "textDocument/selectionRange";
ServerCapability: "selectionRangeProvider";
};
SemanticTokens: {
ClientCapability: "textDocument.semanticTokens";
Direction: "clientToServer";
Method: "textDocument/semanticTokens/full";
RegistrationMethod: "textDocument/semanticTokens";
ServerCapability: "semanticTokensProvider";
};
SemanticTokensDelta: {
ClientCapability: "textDocument.semanticTokens.requests.full.delta";
Direction: "clientToServer";
Method: "textDocument/semanticTokens/full/delta";
RegistrationMethod: "textDocument/semanticTokens";
ServerCapability: "semanticTokensProvider.full.delta";
};
SemanticTokensRange: {
ClientCapability: "textDocument.semanticTokens.requests.range";
Direction: "clientToServer";
Method: "textDocument/semanticTokens/range";
RegistrationMethod: "textDocument/semanticTokens";
ServerCapability: "semanticTokensProvider.range";
};
SignatureHelp: {
ClientCapability: "textDocument.signatureHelp";
Direction: "clientToServer";
Method: "textDocument/signatureHelp";
ServerCapability: "signatureHelpProvider";
};
TypeDefinition: {
ClientCapability: "textDocument.typeDefinition";
Direction: "clientToServer";
Method: "textDocument/typeDefinition";
ServerCapability: "typeDefinitionProvider";
};
TypeHierarchyPrepare: {
ClientCapability: "textDocument.typeHierarchy";
Direction: "clientToServer";
Method: "textDocument/prepareTypeHierarchy";
ServerCapability: "typeHierarchyProvider";
};
WillSaveTextDocumentWaitUntil: {
ClientCapability: "textDocument.synchronization.willSaveWaitUntil";
Direction: "clientToServer";
Method: "textDocument/willSaveWaitUntil";
ServerCapability: "textDocumentSync.willSaveWaitUntil";
};
};
TypeHierarchy: {
Subtypes: {
Direction: "clientToServer";
Method: "typeHierarchy/subtypes";
};
Supertypes: {
Direction: "clientToServer";
Method: "typeHierarchy/supertypes";
};
};
Window: {
ShowDocument: {
ClientCapability: "window.showDocument.support";
Direction: "serverToClient";
Method: "window/showDocument";
};
ShowMessage: {
ClientCapability: "window.showMessage";
Direction: "serverToClient";
Method: "window/showMessageRequest";
};
WorkDoneProgressCreate: {
ClientCapability: "window.workDoneProgress";
Direction: "serverToClient";
Method: "window/workDoneProgress/create";
};
};
Workspace: {
ApplyWorkspaceEdit: {
ClientCapability: "workspace.applyEdit";
Direction: "serverToClient";
Method: "workspace/applyEdit";
};
CodeLensRefresh: {
ClientCapability: "workspace.codeLens";
Direction: "serverToClient";
Method: "workspace/codeLens/refresh";
};
Configuration: {
ClientCapability: "workspace.configuration";
Direction: "serverToClient";
Method: "workspace/configuration";
};
Diagnostic: {
ClientCapability: "workspace.diagnostics";
Direction: "clientToServer";
Method: "workspace/diagnostic";
ServerCapability: "diagnosticProvider.workspaceDiagnostics";
};
DiagnosticRefresh: {
ClientCapability: "workspace.diagnostics.refreshSupport";
Direction: "serverToClient";
Method: "workspace/diagnostic/refresh";
};
ExecuteCommand: {
ClientCapability: "workspace.executeCommand";
Direction: "clientToServer";
Method: "workspace/executeCommand";
ServerCapability: "executeCommandProvider";
};
Folders: {
ClientCapability: "workspace.workspaceFolders";
Direction: "serverToClient";
Method: "workspace/workspaceFolders";
ServerCapability: "workspace.workspaceFolders";
};
FoldingRangeRefresh: {
ClientCapability: "workspace.foldingRange.refreshSupport";
Direction: "serverToClient";
Method: "workspace/foldingRange/refresh";
};
InlayHintRefresh: {
ClientCapability: "workspace.inlayHint.refreshSupport";
Direction: "serverToClient";
Method: "workspace/inlayHint/refresh";
};
InlineValueRefresh: {
ClientCapability: "workspace.inlineValue.refreshSupport";
Direction: "serverToClient";
Method: "workspace/inlineValue/refresh";
};
SemanticTokensRefresh: {
ClientCapability: "workspace.semanticTokens.refreshSupport";
Direction: "serverToClient";
Method: "workspace/semanticTokens/refresh";
};
Symbol: {
ClientCapability: "workspace.symbol";
Direction: "clientToServer";
Method: "workspace/symbol";
ServerCapability: "workspaceSymbolProvider";
};
TextDocumentContent: {
ClientCapability: "workspace.textDocumentContent";
Direction: "clientToServer";
Method: "workspace/textDocumentContent";
ServerCapability: "workspace.textDocumentContent";
};
TextDocumentContentRefresh: {
Direction: "serverToClient";
Method: "workspace/textDocumentContent/refresh";
};
WillCreateFiles: {
ClientCapability: "workspace.fileOperations.willCreate";
Direction: "clientToServer";
Method: "workspace/willCreateFiles";
ServerCapability: "workspace.fileOperations.willCreate";
};
WillDeleteFiles: {
ClientCapability: "workspace.fileOperations.willDelete";
Direction: "clientToServer";
Method: "workspace/willDeleteFiles";
ServerCapability: "workspace.fileOperations.willDelete";
};
WillRenameFiles: {
ClientCapability: "workspace.fileOperations.willRename";
Direction: "clientToServer";
Method: "workspace/willRenameFiles";
ServerCapability: "workspace.fileOperations.willRename";
};
};
WorkspaceSymbol: {
Resolve: {
ClientCapability: "workspace.symbol.resolveSupport";
Direction: "clientToServer";
Method: "workspaceSymbol/resolve";
ServerCapability: "workspaceSymbolProvider.resolveProvider";
};
};
}[N][M];Defined in: packages/core/src/protocol/infer.ts:289
Retrieves the full definition object for a given LSP request method by namespace and method key.
Type Parameters
| Type Parameter |
|---|
N extends | "CallHierarchy" | "Client" | "CodeAction" | "CodeLens" | "CompletionItem" | "DocumentLink" | "InlayHint" | "Lifecycle" | "TextDocument" | "TypeHierarchy" | "Window" | "Workspace" | "WorkspaceSymbol" |
M extends string | number | symbol |
Parameters
| Parameter | Type | Description |
|---|---|---|
namespace | N | A top-level key of LSPRequest (e.g. 'TextDocument'). |
methodKey | M | A method key within that namespace (e.g. 'Hover'). |
Returns
{ CallHierarchy: { IncomingCalls: { Direction: "clientToServer"; Method: "callHierarchy/incomingCalls"; }; OutgoingCalls: { Direction: "clientToServer"; Method: "callHierarchy/outgoingCalls"; }; }; Client: { Registration: { Direction: "serverToClient"; Method: "client/registerCapability"; }; Unregistration: { Direction: "serverToClient"; Method: "client/unregisterCapability"; }; }; CodeAction: { Resolve: { ClientCapability: "textDocument.codeAction.resolveSupport"; Direction: "clientToServer"; Method: "codeAction/resolve"; ServerCapability: "codeActionProvider.resolveProvider"; }; }; CodeLens: { Resolve: { ClientCapability: "textDocument.codeLens.resolveSupport"; Direction: "clientToServer"; Method: "codeLens/resolve"; ServerCapability: "codeLensProvider.resolveProvider"; }; }; CompletionItem: { CompletionResolve: { ClientCapability: "textDocument.completion.completionItem.resolveSupport"; Direction: "clientToServer"; Method: "completionItem/resolve"; ServerCapability: "completionProvider.resolveProvider"; }; }; DocumentLink: { Resolve: { ClientCapability: "textDocument.documentLink"; Direction: "clientToServer"; Method: "documentLink/resolve"; ServerCapability: "documentLinkProvider.resolveProvider"; }; }; InlayHint: { Resolve: { ClientCapability: "textDocument.inlayHint.resolveSupport"; Direction: "clientToServer"; Method: "inlayHint/resolve"; ServerCapability: "inlayHintProvider.resolveProvider"; }; }; Lifecycle: { Initialize: { Direction: "clientToServer"; Method: "initialize"; }; Shutdown: { Direction: "clientToServer"; Method: "shutdown"; }; }; TextDocument: { CallHierarchyPrepare: { ClientCapability: "textDocument.callHierarchy"; Direction: "clientToServer"; Method: "textDocument/prepareCallHierarchy"; ServerCapability: "callHierarchyProvider"; }; CodeAction: { ClientCapability: "textDocument.codeAction"; Direction: "clientToServer"; Method: "textDocument/codeAction"; ServerCapability: "codeActionProvider"; }; CodeLens: { ClientCapability: "textDocument.codeLens"; Direction: "clientToServer"; Method: "textDocument/codeLens"; ServerCapability: "codeLensProvider"; }; ColorPresentation: { ClientCapability: "textDocument.colorProvider"; Direction: "clientToServer"; Method: "textDocument/colorPresentation"; ServerCapability: "colorProvider"; }; Completion: { ClientCapability: "textDocument.completion"; Direction: "clientToServer"; Method: "textDocument/completion"; ServerCapability: "completionProvider"; }; Declaration: { ClientCapability: "textDocument.declaration"; Direction: "clientToServer"; Method: "textDocument/declaration"; ServerCapability: "declarationProvider"; }; Definition: { ClientCapability: "textDocument.definition"; Direction: "clientToServer"; Method: "textDocument/definition"; ServerCapability: "definitionProvider"; }; DocumentColor: { ClientCapability: "textDocument.colorProvider"; Direction: "clientToServer"; Method: "textDocument/documentColor"; ServerCapability: "colorProvider"; }; DocumentDiagnostic: { ClientCapability: "textDocument.diagnostic"; Direction: "clientToServer"; Method: "textDocument/diagnostic"; ServerCapability: "diagnosticProvider"; }; DocumentFormatting: { ClientCapability: "textDocument.formatting"; Direction: "clientToServer"; Method: "textDocument/formatting"; ServerCapability: "documentFormattingProvider"; }; DocumentHighlight: { ClientCapability: "textDocument.documentHighlight"; Direction: "clientToServer"; Method: "textDocument/documentHighlight"; ServerCapability: "documentHighlightProvider"; }; DocumentLink: { ClientCapability: "textDocument.documentLink"; Direction: "clientToServer"; Method: "textDocument/documentLink"; ServerCapability: "documentLinkProvider"; }; DocumentOnTypeFormatting: { ClientCapability: "textDocument.onTypeFormatting"; Direction: "clientToServer"; Method: "textDocument/onTypeFormatting"; ServerCapability: "documentOnTypeFormattingProvider"; }; DocumentRangeFormatting: { ClientCapability: "textDocument.rangeFormatting"; Direction: "clientToServer"; Method: "textDocument/rangeFormatting"; ServerCapability: "documentRangeFormattingProvider"; }; DocumentRangesFormatting: { ClientCapability: "textDocument.rangeFormatting.rangesSupport"; Direction: "clientToServer"; Method: "textDocument/rangesFormatting"; ServerCapability: "documentRangeFormattingProvider.rangesSupport"; }; DocumentSymbol: { ClientCapability: "textDocument.documentSymbol"; Direction: "clientToServer"; Method: "textDocument/documentSymbol"; ServerCapability: "documentSymbolProvider"; }; FoldingRange: { ClientCapability: "textDocument.foldingRange"; Direction: "clientToServer"; Method: "textDocument/foldingRange"; ServerCapability: "foldingRangeProvider"; }; Hover: { ClientCapability: "textDocument.hover"; Direction: "clientToServer"; Method: "textDocument/hover"; ServerCapability: "hoverProvider"; }; Implementation: { ClientCapability: "textDocument.implementation"; Direction: "clientToServer"; Method: "textDocument/implementation"; ServerCapability: "implementationProvider"; }; InlayHint: { ClientCapability: "textDocument.inlayHint"; Direction: "clientToServer"; Method: "textDocument/inlayHint"; ServerCapability: "inlayHintProvider"; }; InlineCompletion: { ClientCapability: "textDocument.inlineCompletion"; Direction: "clientToServer"; Method: "textDocument/inlineCompletion"; ServerCapability: "inlineCompletionProvider"; }; InlineValue: { ClientCapability: "textDocument.inlineValue"; Direction: "clientToServer"; Method: "textDocument/inlineValue"; ServerCapability: "inlineValueProvider"; }; LinkedEditingRange: { ClientCapability: "textDocument.linkedEditingRange"; Direction: "clientToServer"; Method: "textDocument/linkedEditingRange"; ServerCapability: "linkedEditingRangeProvider"; }; Moniker: { ClientCapability: "textDocument.moniker"; Direction: "clientToServer"; Method: "textDocument/moniker"; ServerCapability: "monikerProvider"; }; PrepareRename: { ClientCapability: "textDocument.rename.prepareSupport"; Direction: "clientToServer"; Method: "textDocument/prepareRename"; ServerCapability: "renameProvider.prepareProvider"; }; References: { ClientCapability: "textDocument.references"; Direction: "clientToServer"; Method: "textDocument/references"; ServerCapability: "referencesProvider"; }; Rename: { ClientCapability: "textDocument.rename"; Direction: "clientToServer"; Method: "textDocument/rename"; ServerCapability: "renameProvider"; }; SelectionRange: { ClientCapability: "textDocument.selectionRange"; Direction: "clientToServer"; Method: "textDocument/selectionRange"; ServerCapability: "selectionRangeProvider"; }; SemanticTokens: { ClientCapability: "textDocument.semanticTokens"; Direction: "clientToServer"; Method: "textDocument/semanticTokens/full"; RegistrationMethod: "textDocument/semanticTokens"; ServerCapability: "semanticTokensProvider"; }; SemanticTokensDelta: { ClientCapability: "textDocument.semanticTokens.requests.full.delta"; Direction: "clientToServer"; Method: "textDocument/semanticTokens/full/delta"; RegistrationMethod: "textDocument/semanticTokens"; ServerCapability: "semanticTokensProvider.full.delta"; }; SemanticTokensRange: { ClientCapability: "textDocument.semanticTokens.requests.range"; Direction: "clientToServer"; Method: "textDocument/semanticTokens/range"; RegistrationMethod: "textDocument/semanticTokens"; ServerCapability: "semanticTokensProvider.range"; }; SignatureHelp: { ClientCapability: "textDocument.signatureHelp"; Direction: "clientToServer"; Method: "textDocument/signatureHelp"; ServerCapability: "signatureHelpProvider"; }; TypeDefinition: { ClientCapability: "textDocument.typeDefinition"; Direction: "clientToServer"; Method: "textDocument/typeDefinition"; ServerCapability: "typeDefinitionProvider"; }; TypeHierarchyPrepare: { ClientCapability: "textDocument.typeHierarchy"; Direction: "clientToServer"; Method: "textDocument/prepareTypeHierarchy"; ServerCapability: "typeHierarchyProvider"; }; WillSaveTextDocumentWaitUntil: { ClientCapability: "textDocument.synchronization.willSaveWaitUntil"; Direction: "clientToServer"; Method: "textDocument/willSaveWaitUntil"; ServerCapability: "textDocumentSync.willSaveWaitUntil"; }; }; TypeHierarchy: { Subtypes: { Direction: "clientToServer"; Method: "typeHierarchy/subtypes"; }; Supertypes: { Direction: "clientToServer"; Method: "typeHierarchy/supertypes"; }; }; Window: { ShowDocument: { ClientCapability: "window.showDocument.support"; Direction: "serverToClient"; Method: "window/showDocument"; }; ShowMessage: { ClientCapability: "window.showMessage"; Direction: "serverToClient"; Method: "window/showMessageRequest"; }; WorkDoneProgressCreate: { ClientCapability: "window.workDoneProgress"; Direction: "serverToClient"; Method: "window/workDoneProgress/create"; }; }; Workspace: { ApplyWorkspaceEdit: { ClientCapability: "workspace.applyEdit"; Direction: "serverToClient"; Method: "workspace/applyEdit"; }; CodeLensRefresh: { ClientCapability: "workspace.codeLens"; Direction: "serverToClient"; Method: "workspace/codeLens/refresh"; }; Configuration: { ClientCapability: "workspace.configuration"; Direction: "serverToClient"; Method: "workspace/configuration"; }; Diagnostic: { ClientCapability: "workspace.diagnostics"; Direction: "clientToServer"; Method: "workspace/diagnostic"; ServerCapability: "diagnosticProvider.workspaceDiagnostics"; }; DiagnosticRefresh: { ClientCapability: "workspace.diagnostics.refreshSupport"; Direction: "serverToClient"; Method: "workspace/diagnostic/refresh"; }; ExecuteCommand: { ClientCapability: "workspace.executeCommand"; Direction: "clientToServer"; Method: "workspace/executeCommand"; ServerCapability: "executeCommandProvider"; }; Folders: { ClientCapability: "workspace.workspaceFolders"; Direction: "serverToClient"; Method: "workspace/workspaceFolders"; ServerCapability: "workspace.workspaceFolders"; }; FoldingRangeRefresh: { ClientCapability: "workspace.foldingRange.refreshSupport"; Direction: "serverToClient"; Method: "workspace/foldingRange/refresh"; }; InlayHintRefresh: { ClientCapability: "workspace.inlayHint.refreshSupport"; Direction: "serverToClient"; Method: "workspace/inlayHint/refresh"; }; InlineValueRefresh: { ClientCapability: "workspace.inlineValue.refreshSupport"; Direction: "serverToClient"; Method: "workspace/inlineValue/refresh"; }; SemanticTokensRefresh: { ClientCapability: "workspace.semanticTokens.refreshSupport"; Direction: "serverToClient"; Method: "workspace/semanticTokens/refresh"; }; Symbol: { ClientCapability: "workspace.symbol"; Direction: "clientToServer"; Method: "workspace/symbol"; ServerCapability: "workspaceSymbolProvider"; }; TextDocumentContent: { ClientCapability: "workspace.textDocumentContent"; Direction: "clientToServer"; Method: "workspace/textDocumentContent"; ServerCapability: "workspace.textDocumentContent"; }; TextDocumentContentRefresh: { Direction: "serverToClient"; Method: "workspace/textDocumentContent/refresh"; }; WillCreateFiles: { ClientCapability: "workspace.fileOperations.willCreate"; Direction: "clientToServer"; Method: "workspace/willCreateFiles"; ServerCapability: "workspace.fileOperations.willCreate"; }; WillDeleteFiles: { ClientCapability: "workspace.fileOperations.willDelete"; Direction: "clientToServer"; Method: "workspace/willDeleteFiles"; ServerCapability: "workspace.fileOperations.willDelete"; }; WillRenameFiles: { ClientCapability: "workspace.fileOperations.willRename"; Direction: "clientToServer"; Method: "workspace/willRenameFiles"; ServerCapability: "workspace.fileOperations.willRename"; }; }; WorkspaceSymbol: { Resolve: { ClientCapability: "workspace.symbol.resolveSupport"; Direction: "clientToServer"; Method: "workspaceSymbol/resolve"; ServerCapability: "workspaceSymbolProvider.resolveProvider"; }; }; }[N][M]
The definition object containing Method, Params, Result, Direction, and optional capability keys.