I’d like to share with you what we (at Ericsson) plan to work on in the month of July time frame, for Clangd.
- Finalize watching compile_commands.json for changes and update accordingly. We already had a prototype that reparsed all the open files but we will go a bit further and reparse only the files that had their compile commands changed.
- Improvements to the libIndexStore prototype. Since their seems to be new activity for the “index while building” patch, we will resume our prototype integration in Clangd that supports background indexing. There is a lot of work to be done in this area.
- Semi-related to Clangd: We have a branch of GDB that allows debugging llvm/clang/clangd much faster. When GDB loads symbols, an index of the symbols can be saved to disk and reloaded on subsequent debug sessions. For example, on my machine, it would take 30s to attach to Clangd and with this feature, it takes 2s on subsequent attaches. Simon has been working on upstreaming the patches . Once this is completed, we will add a small section to Clangd documentation to explain how to enable this.
Disclaimer: Those are plans only, please don’t take this as a promise