macro_rules! lsp_request {
    ("initialize") => { ... };
    ("shutdown") => { ... };
    ("window/showMessageRequest") => { ... };
    ("client/registerCapability") => { ... };
    ("client/unregisterCapability") => { ... };
    ("workspace/symbol") => { ... };
    ("workspace/executeCommand") => { ... };
    ("textDocument/completion") => { ... };
    ("completionItem/resolve") => { ... };
    ("textDocument/hover") => { ... };
    ("textDocument/signatureHelp") => { ... };
    ("textDocument/declaration") => { ... };
    ("textDocument/definition") => { ... };
    ("textDocument/references") => { ... };
    ("textDocument/documentHighlight") => { ... };
    ("textDocument/documentSymbol") => { ... };
    ("textDocument/codeAction") => { ... };
    ("textDocument/codeLens") => { ... };
    ("codeLens/resolve") => { ... };
    ("textDocument/documentLink") => { ... };
    ("documentLink/resolve") => { ... };
    ("workspace/applyEdit") => { ... };
    ("textDocument/rangeFormatting") => { ... };
    ("textDocument/onTypeFormatting") => { ... };
    ("textDocument/formatting") => { ... };
    ("textDocument/rename") => { ... };
    ("textDocument/documentColor") => { ... };
    ("textDocument/colorPresentation") => { ... };
    ("textDocument/foldingRange") => { ... };
    ("textDocument/prepareRename") => { ... };
    ("textDocument/implementation") => { ... };
    ("textDocument/typeDefinition") => { ... };
    ("workspace/workspaceFolders") => { ... };
}