// the find
Shougo/denite.nvim
:dragon: Dark powered asynchronous unite all interfaces for Neovim/Vim8
Denite is a generic fuzzy-finder/picker framework for Neovim and Vim 8, built on Python 3 via the remote plugin API. It replaces the older unite.vim with an async architecture that offloads heavy work to a Python subprocess. Development has officially stopped — the author has moved to ddu.vim.
The source/filter/kind architecture is genuinely well-designed: sources produce candidates, matchers filter them, sorters rank them, and kinds define what 'open' means per item type. That separation makes writing custom sources straightforward. The async subprocess model was ahead of its time — filtering large file trees without blocking the editor was not a given in 2017. The test suite uses both Python (pytest) and Vimscript (themis) to cover both sides of the plugin boundary, which is more than most Vim plugins bother with.
It's dead. The README says so plainly, and the last meaningful commit was in 2024 for bug fixes only. Installing it today means you're betting on a frozen codebase with Python/Neovim API compatibility debt accumulating. The setup burden is real — pynvim, msgpack, nvim-yarp for Vim8, and UpdateRemotePlugins ritual; one wrong pip version and you get silent failures. No default keybindings means every new user writes 30 lines of config just to open a file. And with telescope.nvim and fzf-lua offering native Lua implementations with zero Python dependencies, the performance argument that justified the complexity no longer holds.