Saghen/blink.cmp

website github github
completion
stars 3,238
issues 86
subscribers 10
forks 175
CREATED

2024-07-31

UPDATED

8 hours ago


[!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