[PATCH] D47950: [clangd] FuzzyMatch: forbid tail-tail matches after a miss: [pat] !~ "panther"

Marc-Andre Laperle via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Jun 11 10:19:47 PDT 2018


malaperle added a comment.

In https://reviews.llvm.org/D47950#1128487, @sammccall wrote:

> In https://reviews.llvm.org/D47950#1128370, @malaperle wrote:
>
> > Very nice! I tried "std" and got much less (unimportant) results. I see something a bit weird with "getStandardResourceDir" but it might be VSCode. Here, I guess it's the "d" in Dir that matches but what's odd is that VS Code will highlight the first "d", i.e. in "standard". But it doesn't look like there is any way to control this in the LSP, is there?
>
>
> That's right. VSCode applies its fuzzymatch again client-side to determine which characters to highlight, and it chooses the wrong (IMO) "d" here. We wouldn't match [std] against "getStandardResourceZir".
>  (Worse, they use the same algorithm to rerank our results if client-side filtering applies...)


Thanks for the confirmation. In that case, I think the approach of this patch is quite good! Although it would be better is someone familiar with code completion could review the details :)


Repository:
  rCTE Clang Tools Extra

https://reviews.llvm.org/D47950





More information about the cfe-commits mailing list