fix(tui): prioritize exact alias matches in slash-command autocomplete#1811
Closed
IIzzaya wants to merge 1 commit into
Closed
fix(tui): prioritize exact alias matches in slash-command autocomplete#1811IIzzaya wants to merge 1 commit into
IIzzaya wants to merge 1 commit into
Conversation
Contributor
There was a problem hiding this comment.
Code Review
This pull request updates the slash_completion_hints function to prioritize command entries based on exact alias matches and prefixes. The feedback suggests optimizing the sorting logic by avoiding redundant string allocations and lookups within the comparison closure, recommending the use of &str and eq_ignore_ascii_case for better performance.
11 tasks
Owner
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.
When typing a prefix like /q in the composer, the slash-command autocomplete popup sorts results alphabetically by canonical command name. This means /clear (matched via the alias qingping) appears before /exit (matched via the exact alias q). The user who types /q almost certainly wants to quit — the match quality should drive ordering.
This PR replaces the alphabetical sort in slash_completion_hints with a three-tier priority sort:
Within each tier, results fall back to alphabetical order. Skill entries and non-command completions (no CommandInfo) receive priority 3 and sort to the bottom.
After: