Skip to content

lspeasy / core/src / getDefinitionForRequest

Function: getDefinitionForRequest()

ts
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

ParameterTypeDescription
namespaceNA top-level key of LSPRequest (e.g. 'TextDocument').
methodKeyMA 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.

Released under the MIT License.