Skip to content

feat: rank and sort completions server-side by relevance#143

Merged
pfitzseb merged 1 commit into
mainfrom
sp/completion-relevance-sorting
Jul 15, 2026
Merged

feat: rank and sort completions server-side by relevance#143
pfitzseb merged 1 commit into
mainfrom
sp/completion-relevance-sorting

Conversation

@pfitzseb

Copy link
Copy Markdown
Member

Completion items now carry a zero-padded sort_text derived from a relevance key (match quality, then scope proximity, then length/label). A case-matching prefix ranks above a case-insensitive one, so an all-lowercase query surfaces the lowercase symbol first (e.g. \epsi suggests \epsilon before \Epsilon without dropping the latter), and bindings in nearer lexical scopes come first. Editors that don't sort completions client-side now get a sensible order too.

Fixes julia-vscode/LanguageServer.jl#1384.

Completion items now carry a zero-padded `sort_text` derived from a
relevance key (match quality, then scope proximity, then length/label).
A case-matching prefix ranks above a case-insensitive one, so an
all-lowercase query surfaces the lowercase symbol first (e.g. `\epsi`
suggests `\epsilon` before `\Epsilon` without dropping the latter), and
bindings in nearer lexical scopes come first. Editors that don't sort
completions client-side now get a sensible order too.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@pfitzseb pfitzseb merged commit fe788e8 into main Jul 15, 2026
20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Option for case sensitive matching

1 participant