// the find
kuafuwang/LspCpp
A Language Server Protocol implementation in C++
A C++ library for building LSP servers and clients on top of a JSON-RPC transport layer. It handles wire protocol, message typing, and serialization so you don't write that yourself. The target audience is anyone building a language server in C++ — custom language tools, editor plugins, or embedding LSP in a native application.
Unusually broad transport support for an LSP library — stdio, TCP, and WebSocket in one package, which matters if you're not shipping a traditional editor extension. Covers both server and client sides, where most alternatives only do server. Core library has no Boost dependency: standalone Asio and bundled RapidJSON mean you can build the minimal example without installing anything extra. The LSP_3_18_COVERAGE.md document makes it explicit which methods are implemented and which aren't, so you know what you're getting before writing a line of code.
111 stars is low for infrastructure-level code — there's almost no production signal that this holds up under real-world language server traffic, cancellation edge cases, or concurrent request handling. The test suite is described as 'smoke tests' throughout, and for a protocol library where request/response correlation needs to be exact, that's not reassuring. Two API surfaces — the older RemoteEndPoint and the newer LanguageSession — coexist without a clear migration story; the docs point to both without guidance on when to use which. Optional Boehm GC support is a surprising flag for a networking library and is a tell that some design decisions are inherited from much older C++ codebases.