// the find
Shougo/deoplete.nvim
: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.