Rank Quick Access results by a continuous relevance score#4099
Draft
vogella wants to merge 1 commit into
Draft
Conversation
Contributor
Test Results 864 files ± 0 864 suites ±0 58m 4s ⏱️ + 13m 12s For more details on these failures, see this check. Results for commit af76ea0. ± Comparison against base commit 4f9ee7a. ♻️ This comment has been updated with latest results. |
Quick Access ranked results by provider order, then alphabetically, with only a binary prefix boost and a round-robin slot quota per provider. A weak Preferences hit could therefore outrank a strong Command hit, and the per-entry match quality barely affected the order. Add an fzf-style relevance score in QuickAccessMatching that rewards word-boundary, consecutive-character and prefix matches and lightly penalises leading gaps and length. QuickAccessContents now scores every candidate, ranks them with a single comparator (score, then match quality) applied with a stable sort, and fills the table with the globally highest-ranked entries instead of a round-robin quota. Results stay grouped per provider in registration order, and each provider's natural order (recency for previous picks, alphabetical otherwise) is preserved on ties. QuickAccessMatcher is reused across all candidates of a compute pass so the wildcard and whitespace patterns are compiled once per filter rather than once per element.
9f207d7 to
af76ea0
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Quick Access ranked results by provider order then alphabetically, with only a binary prefix boost and a round-robin slot quota per provider, so a weak match in one provider could outrank a strong match in another and the per-entry match quality barely affected the order.
This adds a continuous fzf-style relevance score in
QuickAccessMatching(word-boundary, consecutive-character and prefix bonuses, with light leading-gap and length penalties), ranks all candidates with a single stable comparator, and fills the table with the globally highest-scoring entries instead of a per-provider quota. Results stay grouped per provider in registration order, and each provider's natural order (recency for previous picks, alphabetical otherwise) is preserved on ties. The matcher is now reused across a compute pass so the wildcard and whitespace patterns compile once per filter rather than once per element.Draft for early feedback on the ranking direction before the larger flat-list redesign discussion.