This is only the indexing part, it is NOT wired up to the
rest of ClandgdServer.
This is a step towards an implementation for
https://github.com/clangd/clangd/issues/618
Differential D105177
[clangd] Implemented indexing of standard library kuhnel on Jun 30 2021, 1:00 AM. Authored by
Details
This is only the indexing part, it is NOT wired up to the This is a step towards an implementation for
Diff Detail
Event TimelineComment Actions Sorry about the delay here, and welcome back! The core design looks sensible to me - we talked about making this part of the background index (which could reuse more code) but we don't actually want the data mixed together. Main points in the implementation are:
Next design questions seem to be about lifetime/triggering:
Comment Actions
Good point, I added a new function indexStandardLibrary() as external interface.
Yes, removed that.
I removed Refs, Relations and Graph as per your comment. However I have to admit, I don't know what they are and how they are used.
While you're out, I'll try to set up something so that I can do some manual tests with a real standard library.
Comment Actions
Sorry about missing this. Include graph is a bit of a special case, it's basically just used for partitioning, incrementally updating, and loading the background index IIRC.
Comment Actions Remainder is just nits, looks good!
Comment Actions This works as far as it goes, but it needs someone to wire it up completely: build these indexes somewhere that's less blocking than the main thread, determine the right one to attach dynamically based on the file language, etc. The original plan was that Christian would do this as a followup but that's not likely to happen. Meanwhile many of the usual suspects are a bit backed up. We can definitely land this if you or anyone might want to finish it... |
This is where an overview of the feature would go :-)