nvim-cmp is a completion engine plugin for Neovim written in Lua.
The plugin solves the problem of providing intelligent code completion in Neovim by implementing a completion engine that sources completion data from external repositories. It offers full support for LSP completion-related capabilities and emphasizes powerful customizability through Lua functions. The architecture relies on external completion sources that users install and configure separately, allowing flexibility in choosing which completion providers to use.
Developers should adopt this tool if they want a highly customizable completion system for Neovim with strong LSP integration. It suits projects where users are comfortable managing their own key mappings and completion source configuration through Lua. The tool provides pre-defined key mapping presets that aim to mimic Neovim's native behavior, though the README notes these can change without announcement and recommends managing key mappings independently. A wiki documents available completion sources and advanced configuration examples to help users extend the plugin's functionality.
The project is maintained as a hobby effort. The maintainer requests that bug reports include minimal configuration and reproduction steps, and has documented breaking changes in a dedicated GitHub issue for subscribers to monitor. The pre-defined mapping presets are subject to change without notice, placing responsibility on users to manage their own key binding configuration rather than relying on stable defaults.