-
Notifications
You must be signed in to change notification settings - Fork 314
Closed
Labels
featureNew feature or requestNew feature or requestfuzzyFiltering and sorting of completion itemsFiltering and sorting of completion items
Description
Feature Description
For blink.cmp to become the defacto completion plugin, it must run everywhere without any build steps. As is, we support >95% of systems via the prebuilt binaries, but require building when running from main or when running on obscure systems. Thus, we should provide a pure lua mode which provides most of the functionality with reasonable performance.
Related nvim-lua/kickstart.nvim#1331
The following components would need to be re-implemented in lua:
- Keyword regex matching (notably
\p{L}for matching Unicode alphabet, not just ASCII)- Should be possible to use vim's
\kregex, along with a check to filter out symbols
- Should be possible to use vim's
- Getting fuzzy matching/replacement range (Completion items not properly matching full 'word' #46)
- Fuzzy matching
- Scores should be similar to frizbee but don't need some of the complex bonuses such as delimiter
- Must support incremental matching
- No support for typos (Greedy search, no smith waterman)
- Buffer source (get_words)
Frecency support would be dropped, but we could introduce an in-memory recency instead later
hfn92, goldie-lin, PowerUser64 and panboo0106gwww, goldie-lin, PowerUser64, antonk52, adrian5 and 2 more
Metadata
Metadata
Assignees
Labels
featureNew feature or requestNew feature or requestfuzzyFiltering and sorting of completion itemsFiltering and sorting of completion items