16 using namespace clang;
26 struct HandlerRegisterer {
27 template <
typename Param>
30 auto *Callbacks = this->Callbacks;
31 Dispatcher.registerHandler(Method, [=](
const json::Value &RawParams) {
32 typename std::remove_reference<Param>::type P;
34 (Callbacks->*Handler)(P);
36 elog(
"Failed to decode {0} request.", Method);
49 HandlerRegisterer Register{Dispatcher, &Callbacks};
57 Register(
"textDocument/rangeFormatting",
59 Register(
"textDocument/onTypeFormatting",
66 Register(
"textDocument/switchSourceHeader",
73 Register(
"textDocument/documentHighlight",
75 Register(
"workspace/didChangeConfiguration",
virtual void onDocumentFormatting(DocumentFormattingParams &Params)=0
virtual void onFileEvent(DidChangeWatchedFilesParams &Params)=0
virtual void onSignatureHelp(TextDocumentPositionParams &Params)=0
virtual void onChangeConfiguration(DidChangeConfigurationParams &Params)=0
Some operations such as code completion produce a set of candidates.
virtual void onGoToDefinition(TextDocumentPositionParams &Params)=0
virtual void onDocumentDidOpen(DidOpenTextDocumentParams &Params)=0
virtual void onCodeAction(CodeActionParams &Params)=0
virtual void onDocumentDidClose(DidCloseTextDocumentParams &Params)=0
void elog(const char *Fmt, Ts &&... Vals)
virtual void onCompletion(TextDocumentPositionParams &Params)=0
virtual void onDocumentHighlight(TextDocumentPositionParams &Params)=0
void registerCallbackHandlers(JSONRPCDispatcher &Dispatcher, ProtocolCallbacks &Callbacks)
virtual void onSwitchSourceHeader(TextDocumentIdentifier &Params)=0
virtual void onDocumentOnTypeFormatting(DocumentOnTypeFormattingParams &Params)=0
virtual void onRename(RenameParams &Parames)=0
virtual void onInitialize(InitializeParams &Params)=0
virtual void onWorkspaceSymbol(WorkspaceSymbolParams &Params)=0
virtual void onDocumentRangeFormatting(DocumentRangeFormattingParams &Params)=0
virtual void onHover(TextDocumentPositionParams &Params)=0
Main JSONRPC entry point.
virtual void onDocumentSymbol(DocumentSymbolParams &Params)=0
virtual void onDocumentDidChange(DidChangeTextDocumentParams &Params)=0
===– Representation.cpp - ClangDoc Representation --------—*- C++ -*-===//
virtual void onCommand(ExecuteCommandParams &Params)=0
virtual void onExit(ExitParams &Params)=0
virtual void onShutdown(ShutdownParams &Params)=0
bool fromJSON(const json::Value &E, URIForFile &R)