<div dir="ltr">Hi fellow clang devs,<div><br></div><div>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!).</div><div><br></div><div>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.</div><div><br></div><div>What has changed?</div><div>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</div><div>2. MS has created a language server protocol [2], which already has both a bunch of client and server implementations</div><div>3. Debugging through python into libclang crashers is a pain and eating our support resources</div><div>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.</div><div><br></div><div>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.</div><div><br></div><div>If you have any thoughts / concerns let me know; otherwise look forward to code reviews on initial ClangD dropping by :D</div><div><br></div><div>Cheers,</div><div>/Manuel</div><div><br></div><div>[1] <a href="http://lists.llvm.org/pipermail/cfe-dev/2012-June/022028.html">http://lists.llvm.org/pipermail/cfe-dev/2012-June/022028.html</a></div><div>[2] <a href="https://github.com/Microsoft/language-server-protocol">https://github.com/Microsoft/language-server-protocol</a></div><div><br></div></div>