A format runner for Neovim written in Lua, providing asynchronous execution and opt-in default configurations.
Formatter.nvim is a Neovim plugin written in Lua that runs external code formatters on your files. It solves the problem of integrating multiple formatting tools into Neovim by providing an asynchronous, configurable runner that works across many programming languages and file types.
Neovim users who want a flexible, non-blocking way to format code in multiple languages directly within their editor, especially those who work with diverse tech stacks and need per-filetype control.
Developers choose Formatter.nvim for its asynchronous execution that doesn't block the editor, its opt-in approach to defaults that avoids unnecessary bloat, and its extensive configurability including conditional formatting and hooks.
Formatter.nvim is a Neovim plugin that runs external code formatters on your files. It provides a flexible and asynchronous way to format code across many languages, helping developers maintain consistent code style without leaving the editor.
Formatter.nvim believes in providing a robust, non-blocking formatting experience while giving users full control over their configurations, avoiding assumptions about preferred tools.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Runs formatters asynchronously in the background, preventing editor freezes during formatting, as highlighted in the Features section.
Supports conditional formatting, before/after hooks, and per-filetype configurations, allowing developers to tailor formatting logic precisely.
Includes buffer locking commands to set 'modifiable' to false during formatting, reducing the risk of conflicts from the README.
Written in Lua, it seamlessly integrates with Neovim's modern API and configuration ecosystem, offering better performance and compatibility.
All formatter setups are opt-in, requiring users to manually configure each filetype, which can be time-consuming for diverse projects, as admitted in the README's philosophy.
Users must write Lua functions for configurations, which may be less accessible for those familiar only with Vimscript or simple settings, adding a learning curve.
The plugin merely orchestrates external tools; if a required formatter isn't installed, formatting fails without built-in alternatives, increasing setup overhead.