[cfe-dev] ClangD

Marc-Andre Laperle via cfe-dev cfe-dev at lists.llvm.org
Mon Jan 30 13:36:54 PST 2017


(Apologies for this out-of-thread reply as I just subscribed to the list.)

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.

I look forward to getting involved in this effort and seeing the first 
code reviews.

Marc-André Laperle


    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



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20170130/1ac6dfae/attachment.html>

More information about the cfe-dev mailing list