Neoformat uses a variety of formatters for many filetypes. Currently, Neoformat will run a formatter using the current buffer data, and on success, it will update the current buffer with the formatted text. On a formatter failure, Neoformat will try the next formatter defined for the filetype. By using getbufline() to read from the current buffer instead of file, Neoformat is able to format your buffer without you having to :w your file first. Also, by using setline(), marks, jumps, etc. are all maintained after formatting. Neoformat supports both sending buffer data to formatters via stdin, and also writing buffer data to /tmp/ for formatters to read that do not support input via stdin. If a formatter is either not configured to use stdin, or is not able to read from stdin, then buffer data will be written to a file in /tmp/neoformat/, where the formatter will then read from.
Features
- A (Neo)vim plugin for formatting code
- Format the entire buffer, or visual selection of the buffer
- Or specify a certain formatter (must be defined for the current filetype)
- Have Neoformat use &formatprg as a formatter
- Enable basic formatting when a filetype is not found
- Run all enabled formatters