//===--- ClangdLSPServer.h - LSP server --------------------------*- C++-*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #ifndef LLVM_CLANG_TOOLS_EXTRA_CLANGD_CLANGDLSPSERVER_H #define LLVM_CLANG_TOOLS_EXTRA_CLANGD_CLANGDLSPSERVER_H #include "ClangdServer.h" #include "Diagnostics.h" #include "GlobalCompilationDatabase.h" #include "LSPBinder.h" #include "Protocol.h" #include "Transport.h" #include "support/Context.h" #include "support/MemoryTree.h" #include "support/Path.h" #include "support/Threading.h" #include "llvm/ADT/ArrayRef.h" #include "llvm/Support/JSON.h" #include <chrono> #include <cstddef> #include <cstdint> #include <memory> #include <optional> #include <vector> namespace clang { namespace clangd { /// This class exposes ClangdServer's capabilities via Language Server Protocol. /// /// MessageHandler binds the implemented LSP methods (e.g. onInitialize) to /// corresponding JSON-RPC methods ("initialize"). /// The server also supports $/cancelRequest (MessageHandler provides this). class ClangdLSPServer : private ClangdServer::Callbacks, private LSPBinder::RawOutgoing { … }; } // namespace clangd } // namespace clang #endif // LLVM_CLANG_TOOLS_EXTRA_CLANGD_CLANGDLSPSERVER_H