[!WARNING]
This plugin is beta quality. Expect breaking changes and many bugs
Blink Completion (blink.cmp)
blink.cmp is a completion plugin with support for LSPs and external sources that updates on every keystroke with minimal overhead (0.5-4ms async). It use a custom fuzzy matcher to easily handle >20k items. It provides extensibility via pluggable sources (LSP, snippets, etc), component based rendering and scripting for the configuration.
https://github.com/user-attachments/assets/9849e57a-3c2c-49a8-959c-dbb7fef78c80
Features
- Works out of the box with no additional configuration
- Updates on every keystroke (0.5-4ms async, single core)
- Typo resistant fuzzy with frecency and proximity bonus
- Extensive LSP support (tracker)
- Snippet support: native
vim.snippet
(including friendly-snippets
), LuaSnip
and mini.snippets
- External sources support (community sources and compatibility layer for
nvim-cmp
sources)
- Auto-bracket support based on semantic tokens
- Signature help (experimental, opt-in)
- Command line completion
- Terminal completion (Nightly only! No source for shell completions exists yet, contributions welcome!)
- Comparison with nvim-cmp
Installation
Head over to the documentation website for installation instructions and configuration options.
Special Thanks
- @hrsh7th nvim-cmp used as inspiration and cmp-path/cmp-cmdline implementations modified for path/cmdline sources
- @garymjr nvim-snippets implementation modified for snippets source
- @redxtech Help with design and testing
- @aaditya-sahay Help with rust, design and testing
Contributors