[cfe-dev] ClangD

Manuel Klimek via cfe-dev cfe-dev at lists.llvm.org
Wed Jan 25 05:11:27 PST 2017

Hi fellow clang devs,

we wanted to let you know that we're (finally) starting up work on ClangD,
which you might know from email threads such as [1] (June 2012!).

In the meantime, YCM had done a good enough job at packaging up a libclang
interface to our favorite editors, and other priorities (like modules) have
eaten up a lot of folks priority lunches.

What has changed?
1. YCM is starting to develop more and more into a language multiplexer,
with other languages (Go, Typescript, etc) providing their own servers to
talk to
2. MS has created a language server protocol [2], which already has both a
bunch of client and server implementations
3. Debugging through python into libclang crashers is a pain and eating our
support resources
4. While libclang is a good abstraction if you want to have something run
in your process with close coupling, a standard protocol like the language
server protocol seems like a better way to allow fast iterations on the
server implementation without the need to keep backward-compatibility hacks
through a restrictive C API.

One of the cool things about the MS language server protocol is that it
seems to not actually do any networking, which means that we do not need to
introduce any new dependencies into clang-tools-extra, which is where we
want to start developing this.

If you have any thoughts / concerns let me know; otherwise look forward to
code reviews on initial ClangD dropping by :D


[1] http://lists.llvm.org/pipermail/cfe-dev/2012-June/022028.html
[2] https://github.com/Microsoft/language-server-protocol
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20170125/e650d06f/attachment.html>

More information about the cfe-dev mailing list