finds.dev← search

// the find

Shougo/deoplete.nvim

★ 5,902 · Python · NOASSERTION · updated Jun 2024

:stars: Dark powered asynchronous completion framework for neovim/Vim8

Deoplete is an asynchronous completion framework for Neovim/Vim8 that runs completion sources in a separate Python3 process to avoid blocking the editor. It was the dominant Neovim completion plugin before native LSP support landed. Development is officially finished — the author has moved on to ddc.vim.

The source/filter pipeline is well-designed: sources produce candidates, filters sort and transform them, and you can chain them arbitrarily. The parent/child process architecture using msgpack-rpc was genuinely clever for its era — completion runs in a subprocess and sends results back asynchronously without freezing the UI. The ecosystem of third-party sources (deoplete-jedi, deoplete-go, etc.) is large, covering most languages people actually used in Vim. The filter set is thorough: fuzzy matchers, rank sorters, truncation converters — all individually composable.

It's dead. The README says so plainly, and the last commit was mid-2024 with no feature work since 2021. Anyone starting fresh should use nvim-cmp or blink.cmp with native LSP — deoplete predates `vim.lsp` and the integration is bolted on rather than built in. The Python3 + pynvim dependency is a real setup tax: wrong msgpack version, missing pynvim, `:UpdateRemotePlugins` not rerun after install — any of these silently break completion with no helpful error. Vim8 support requires two additional shim plugins (nvim-yarp, vim-hug-neovim-rpc) that are also unmaintained.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →