<div dir="ltr"><div class="gmail_quote"><div dir="ltr">On Thu, Jan 26, 2017 at 3:33 PM Nikolai Kosjar <<a href="mailto:nikolai.kosjar@qt.io">nikolai.kosjar@qt.io</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 01/25/2017 03:13 PM, Manuel Klimek via cfe-dev wrote:<br class="gmail_msg">
> On Wed, Jan 25, 2017 at 3:08 PM Alex L <<a href="mailto:arphaman@gmail.com" class="gmail_msg" target="_blank">arphaman@gmail.com</a><br class="gmail_msg">
> <mailto:<a href="mailto:arphaman@gmail.com" class="gmail_msg" target="_blank">arphaman@gmail.com</a>>> wrote:<br class="gmail_msg">
><br class="gmail_msg">
> Thanks Manuel, I'm quite excited to hear that about ClangD!<br class="gmail_msg">
><br class="gmail_msg">
> I have a couple of questions:<br class="gmail_msg">
> Do you think ClangD would be able to replace libclang in the future?<br class="gmail_msg">
> Would it be possible to deprecate libclang for IDE use after ClangD<br class="gmail_msg">
> catches up to it, or should we keep libclang as it is even after<br class="gmail_msg">
> that point?<br class="gmail_msg">
><br class="gmail_msg">
><br class="gmail_msg">
> In the foreseeable future, I don't see libclang going away. Not<br class="gmail_msg">
> everybody is able to switch to a new development workflow easily, and<br class="gmail_msg">
> there is a lot of investment in the current libclang based workflows.<br class="gmail_msg">
<br class="gmail_msg">
Just for clarity, please elaborate on "lot of investment in the current<br class="gmail_msg">
libclang based workflows".<br class="gmail_msg"></blockquote><div><br></div><div>YCM exists, and people use it. Xcode exists and people use it. There is a python integration based on libclang. Probably more users :)</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br class="gmail_msg">
> On 25 January 2017 at 13:11, Manuel Klimek via cfe-dev<br class="gmail_msg">
> <<a href="mailto:cfe-dev@lists.llvm.org" class="gmail_msg" target="_blank">cfe-dev@lists.llvm.org</a> <mailto:<a href="mailto:cfe-dev@lists.llvm.org" class="gmail_msg" target="_blank">cfe-dev@lists.llvm.org</a>>> wrote:<br class="gmail_msg">
><br class="gmail_msg">
> Hi fellow clang devs,<br class="gmail_msg">
><br class="gmail_msg">
> we wanted to let you know that we're (finally) starting up work<br class="gmail_msg">
> on ClangD, which you might know from email threads such as [1]<br class="gmail_msg">
> (June 2012!).<br class="gmail_msg">
><br class="gmail_msg">
> In the meantime, YCM had done a good enough job at packaging up<br class="gmail_msg">
> a libclang interface to our favorite editors, and other<br class="gmail_msg">
> priorities (like modules) have eaten up a lot of folks priority<br class="gmail_msg">
> lunches.<br class="gmail_msg">
><br class="gmail_msg">
> What has changed?<br class="gmail_msg">
> 1. YCM is starting to develop more and more into a language<br class="gmail_msg">
> multiplexer, with other languages (Go, Typescript, etc)<br class="gmail_msg">
> providing their own servers to talk to<br class="gmail_msg">
> 2. MS has created a language server protocol [2], which already<br class="gmail_msg">
> has both a bunch of client and server implementations<br class="gmail_msg">
> 3. Debugging through python into libclang crashers is a pain and<br class="gmail_msg">
> eating our support resources<br class="gmail_msg">
> 4. While libclang is a good abstraction if you want to have<br class="gmail_msg">
> something run in your process with close coupling, a standard<br class="gmail_msg">
> protocol like the language server protocol seems like a better<br class="gmail_msg">
> way to allow fast iterations on the server implementation<br class="gmail_msg">
> without the need to keep backward-compatibility hacks through a<br class="gmail_msg">
> restrictive C API.<br class="gmail_msg">
><br class="gmail_msg">
> One of the cool things about the MS language server protocol is<br class="gmail_msg">
> that it seems to not actually do any networking, which means<br class="gmail_msg">
> that we do not need to introduce any new dependencies into<br class="gmail_msg">
> clang-tools-extra, which is where we want to start developing this.<br class="gmail_msg">
><br class="gmail_msg">
> If you have any thoughts / concerns let me know; otherwise look<br class="gmail_msg">
> forward to code reviews on initial ClangD dropping by :D<br class="gmail_msg">
><br class="gmail_msg">
> Cheers,<br class="gmail_msg">
> /Manuel<br class="gmail_msg">
><br class="gmail_msg">
> [1] <a href="http://lists.llvm.org/pipermail/cfe-dev/2012-June/022028.html" rel="noreferrer" class="gmail_msg" target="_blank">http://lists.llvm.org/pipermail/cfe-dev/2012-June/022028.html</a><br class="gmail_msg">
> [2] <a href="https://github.com/Microsoft/language-server-protocol" rel="noreferrer" class="gmail_msg" target="_blank">https://github.com/Microsoft/language-server-protocol</a><br class="gmail_msg">
><br class="gmail_msg">
><br class="gmail_msg">
> _______________________________________________<br class="gmail_msg">
> cfe-dev mailing list<br class="gmail_msg">
> <a href="mailto:cfe-dev@lists.llvm.org" class="gmail_msg" target="_blank">cfe-dev@lists.llvm.org</a> <mailto:<a href="mailto:cfe-dev@lists.llvm.org" class="gmail_msg" target="_blank">cfe-dev@lists.llvm.org</a>><br class="gmail_msg">
> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" class="gmail_msg" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br class="gmail_msg">
><br class="gmail_msg">
><br class="gmail_msg">
><br class="gmail_msg">
> _______________________________________________<br class="gmail_msg">
> cfe-dev mailing list<br class="gmail_msg">
> <a href="mailto:cfe-dev@lists.llvm.org" class="gmail_msg" target="_blank">cfe-dev@lists.llvm.org</a><br class="gmail_msg">
> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" class="gmail_msg" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br class="gmail_msg">
><br class="gmail_msg">
<br class="gmail_msg">
</blockquote></div></div>