ioeric added inline comments.

================
Comment at: clang-tools-extra/clangd/FuzzyMatch.cpp:285
+  if (Pat[P] == Word[W] ||
+      (WordRole[W] == Head && (IsPatSingleCase || PatRole[P] == Head)))
     ++S;
----------------
ilya-biryukov wrote:
> ioeric wrote:
> > could you explain the intention of this change? Is it relevant to other 
> > changes in the patch? The original looks reasonable to me. 
> The motivation is keeping a bonus for matching the head of a segment even in 
> case of single-case patterns that lack segmentation signals.
> Previously, `p` from `up` would not get this bonus when matching 
> `unique_[p]tr` even though intuitively it should as we do want to encourage 
> those matches.
so, iiuc, when `IsPatSingleCase` is true, it means that any character in the 
pattern can potentially be a head? could you add comment for this?

We also had a stricter condition for `Pat[P] == Word[W]`, but now `ut` would 
get a bonus for `[u]nique_p[t]r`. Is this intended?


================
Comment at: clang-tools-extra/clangd/FuzzyMatch.cpp:273
   if (WordRole[W] == Head) // Skipping a segment.
-    S += 1;
-  if (Last == Match) // Non-consecutive match.
-    S += 2;          // We'd rather skip a segment than split our match.
-  return S;
+    return 1; // We want to keep it lower than the bonus for a consecutive
+              // match.
----------------
nit: move this comment into into own line now that it's taking two?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D59300/new/

https://reviews.llvm.org/D59300



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to