<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>Hello,</p>
    <p>(Apologies for this out-of-thread reply as I just subscribed to
      the list.)</p>
    <p>I am quite interested in this work. I had started prototyping a
      language server in C++ based on libclang but it is not very far
      along since I am just getting familiar with Clang. As an Eclipse
      user and developer (Eclipse CDT aka C/C++), I am quite interested
      in the possibility of leveraging this to improve the language
      support. I am also curious to see how refactoring could be done
      using such a protocol.<br>
    </p>
    <p>I look forward to getting involved in this effort and seeing the
      first code reviews.</p>
    <p>Regards,<br>
      Marc-AndrĂ© Laperle<br>
    </p>
    <p><br>
    </p>
    <hr size="2" width="100%">
    <blockquote>
      <pre>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

Cheers,
/Manuel

[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>
[2] <a href="https://github.com/Microsoft/language-server-protocol">https://github.com/Microsoft/language-server-protocol</a></pre>
    </blockquote>
  </body>
</html>