Re: [cdt-dev] GSoC - 2018 Project Report
Thank you very much, Manish, for taking on this important project, and for all your work on it this summer!
Thank you also to Google for sponsoring work like this that may otherwise go unstaffed, and to everyone in the CDT community for your support.
The LSP-based editing support that Manish has been working on can be tried out in a local CDT build, if you have either the ClangD or CQuery language server installed, by running the local build and opening a file with the Generic Editor. The plugin is not shipping in the CDT packages we distribute yet; I hope to get it into a shippable state, and then invite testing from the wider community, in the coming months.
There remains a long road ahead to achieve feature parity with CDT's existing functionality:
* To benefit from the full spectrum of features offered by C++ language servers, we should implement more of the LSP protocol extensions that they support, such as CQuery's type hierarchy protocols.
* To get to a point where protocol extensions, such as semantic highlighting and type hierarchy, are supported uniformly by all C++ language servers, the protocol extensions need to be proposed for standardization into LSP. We could contribute to that effort.
* There are some CDT features, like "Explore Macro Expansion", which are not covered by any current LSP protocols, standard or extension. We could propose protocol extensions (and eventually standard protocols) for these.
* The language servers themselves are fairly young projects and would benefit from improvements to robustness, performance, and their feature sets. We could contribute to these efforts as well. (One of the nice things about the LSP, is that we're not alone in this. Improving the servers is in the shared interest of all editor communities that make use of them.)
* We need to improve our build story. Currently, the user needs to manually ensure that the project's build produces a compiler_commands.json file for consumption by the language server. There are various things we could do to help automate the process.
* Doug has brought up issues around cross-compilation that may need enhancements to the language servers to address.
* Probably other things I'm forgetting :)
Needless to say, contributions in any of these areas are very much welcome! If you're interested in contributing and not sure how to get started or what to focus on, please don't hesitate to reach out.
From: cdt-dev-bounces@xxxxxxxxxxx <cdt-dev-bounces@xxxxxxxxxxx> on behalf of Manish Khurana <mkmanishkhurana98@xxxxxxxxx>
Sent: September 21, 2018 10:33 AM
To: CDT General developers list.
Subject: [cdt-dev] GSoC - 2018 Project Report
With great pleasure, I would like to inform you all that the GSoC - 2018 project : Eclipse CDT: Integration with Language Server Protocol is almost complete and is in working state.
We have added support for two Language Servers : ClangD and CQuery and made some improvements to Generic Editor of LSP4E-CPP.
Here's the link to the Project Report's Gist https://gist.github.com/ManishKhurana11/f940b82c8cebe04ee1bb91ebb2ac861d
I know that I am a bit late for informing this but we were working on a fix of a bug in the meantime. There are some bugs that still need to be fixed. We are open to any suggestions and invite you all to contribute to the project.
My mentor, Mr. Nathan Ridge, and I have worked hard on this and we hope that you all would like our work. I am honoured to work with such an experienced mentor and a helpful community and I would love to continue working with you all.