[PATCH] D39836: [clangd] Drop impossible completions (unavailable or inaccessible)

Alex Lorenz via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Nov 9 12:56:00 PST 2017


arphaman added a comment.

In https://reviews.llvm.org/D39836#920587, @sammccall wrote:

> So I probably should have started from the other end, here :-)
>
> I'd really like to make the completion retrieval and ranking more flexible. In particular
>
> - incorporating results from other sources (indexes: both in-memory and external services).
> - combining more quality signals like usage count and fuzzy-match-strength in a non-lexicographic-sort way The biggest difficulty in *supporting* unusable functions is maintaining the invariant that all unusable functions are ranked lower than usable ones - all code that deals with ranking has to deal with this special case, e.g. by making score a tuple instead of a single number.


That sounds good to me. Please keep in mind that not all clients might want to take advantage of these things as they might have their own fuzz-match logic and external result injection.

> If the current approach of "give them a penalty" is enough, knowing that in the future it may lead to e.g. a very widely used but inaccessible protected function being ranked highly, then that seems fine to me too. A wider configuration space means testing is more work, but happy to live with it. What do you think?
> 
> (With my user-hat on, configurable is fine, though I do strongly feel they should be off by default, and it seems unlikely many users will change the defaults.)

I'd be ok with off by default, as long as it's possible to turn it on :)


https://reviews.llvm.org/D39836





More information about the cfe-commits mailing list