A lightweight, fast, and asynchronous formatting and linting plugin for Neovim 0.10+.
Guard.nvim is a Neovim plugin that provides asynchronous formatting and linting for code. It integrates external tools like formatters and linters to automatically clean and validate code as you write, improving development workflow and code consistency.
Neovim users (version 0.10+) who want a fast, non-blocking way to format and lint code across multiple file types within their editor.
Developers choose Guard.nvim for its lightweight design, asynchronous operation that prevents editor lag, and highly customizable API that supports both built-in and custom tooling configurations.
Lightweight, fast and async formatting and linting plugin for Neovim
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Formats and lints asynchronously to prevent editor freezes, as demonstrated in the demos where tools run in the background without blocking the UI.
Pre-configured support for popular tools like clang-format, prettier, and selene across multiple filetypes, reducing initial setup time and effort.
Minimal API allows defining custom formatters and linters with specific commands and arguments, shown in examples like custom C formatting with clang-format args.
Enables chaining multiple formatters and linters per filetype, such as isort followed by black for Python, facilitating complex, multi-step workflows.
Requires Neovim 0.10 or higher, making it incompatible with older versions or alternative editors like Vim, limiting its user base.
Users must independently install and configure formatters and linters like mypy or codespell, adding setup complexity and potential dependency issues.
Customizing formatting logic with the `fn` field or creating dynamic formatters requires proficiency in Lua and Neovim APIs, which may deter casual users.