A (Neo)vim plugin that formats code using external formatters for many filetypes without requiring a file save.
Neoformat is a (Neo)vim plugin that automatically formats code by interfacing with external code formatters for a wide variety of programming languages and file types. It solves the problem of inconsistent code styling by providing a single command to format buffers without saving files first, integrating seamlessly into the editor workflow.
Vim and Neovim users who want automated code formatting across multiple languages without leaving their editor, particularly developers working in polyglot codebases.
Developers choose Neoformat for its extensive formatter support, buffer-based operation that avoids file saves, and its ability to maintain editor state, offering a more integrated and reliable formatting experience compared to manual formatter invocations.
:sparkles: A (Neo)vim plugin for formatting code.
Supports over 70 filetypes with multiple external formatters like Prettier, Black, and gofmt, as detailed in the lengthy README list.
Uses getbufline() to format code directly from the buffer without requiring a file save, preserving unsaved changes.
Maintains marks, jumps, and undo history after formatting by using setline(), ensuring a seamless editing experience.
Allows defining multiple formatters per filetype and tries them sequentially until one succeeds, reducing formatting failures.
Requires each external formatter (e.g., prettier, black) to be installed and configured separately, adding significant setup overhead.
Setting up custom formatters involves defining variables with numerous options like exe, args, and stdin, which can be overwhelming and error-prone.
Formatters that don't support stdin write buffer data to /tmp/neoformat/, which may fail in environments with restricted file access or cleanup policies.
Lightweight yet powerful formatter plugin for Neovim
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. ## Key Features - **Asynchronous Execution** — Runs formatters in the background without blocking the editor. - **Buffer Locking** — Prevents modifications during formatting with lock commands. - **Opt-in Default Configurations** — Includes pre-built formatter setups for common filetypes that you can choose to use. - **Conditional Formatting** — Allows formatter configurations to include logic for when to run. - **Before/After Hooks** — Execute custom code before and after formatting via autocommands. - **Filetype-specific Setup** — Configure different formatters per filetype with ordered execution. ## Philosophy Formatter.nvim believes in providing a robust, non-blocking formatting experience while giving users full control over their configurations, avoiding assumptions about preferred tools.
Lightweight, fast and async formatting and linting plugin for Neovim
Prettier plugin for Neovim's built-in LSP client.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.