recommender.nvim
Finds the repetition in your code and offers to do something about it. It reads a buffer — or a wider scope — for dotted chains repeated often enough to be worth aliasing, and puts the suggestions in a float you can act on without leaving it. Pure Neovim, no external tooling.
- status
- beta — Beta stage — active development. This repository is past its first shape and in active use, but the surface is not frozen: breaking changes are still possible. Pin a commit or tag if you depend on it.
- category
- Debug & inspect
- neovim
- 0.9+
- repo
- github.com/StefanBartl/recommender.nvim
- commits
- 84
- help
- :help recommender
demo
demos/recommender.tape in a clean Neovim — re-recorded weekly
what is shown when
- :Recommender - chains repeated in this buffer, and the alias for each
- j and Enter - pick a suggestion, insert its alias
- :Recommender 2 - a lower threshold finds more
install
{
"StefanBartl/recommender.nvim",
opts = {},
} docs/
- BINDINGS.md
- CONTRIBUTING.md
- FEATURES.md
- README.md
- WORKFLOW.md
- architecture.md
- commands.md
- configuration.md
- examples.md
- installation.md
- quickstart.md
- statusline.md
- troubleshooting.md
- what-you-get.md
git log
- docs link back to the wkd family site
- ci bump leafo/gh-actions-lua and gh-actions-luarocks off Node 20
- ci bump JohnnyMorganz/stylua-action to v5 (Node-20 deprecation)
- docs TESTS: align run.lua header examples with the ci.yml -n/-i NONE invocation
- ci bump the failure-log upload to actions/upload-artifact@v7 (Node 24)
- ci add job timeouts, failure log artifacts, swap/shada-free nvim runs, pinned deps
- docs remove emoji and bold-as-heading from docs (LUA-54)
- fix config: degrade invalid threshold/cwd_max_files/blacklist/custom_aliases/cwd_ignore (ERR-22)
- fix analyzers/treesitter: distinguish an unparseable buffer from an empty one
- docs recommender.txt: sync the vim help with this round's fixes
- docs README: ui.nvim is a required dependency, not a soft one
- fix init: re-merge config on a repeat setup() instead of a silent no-op