mcauley-penney/tidy.nvim

github github
formatting
stars 109
issues 2
subscribers 1
forks 15
CREATED

2021-10-26

UPDATED

21 days ago


tidy.nvim 🧹

tidy.nvim removes trailing white space and empty lines at EOF on save.

tidy

Requirements

  • Neovim >= 0.9.0

It may work on lower versions, but is tested and updated using nightly.

Installation

Most basic configuration using lazy.nvim:

{
    "mcauley-penney/tidy.nvim",
    config = true,
}

A more full example configuration for lazy.nvim would be:

{
    "mcauley-penney/tidy.nvim",
    opts = {
        enabled_on_save = false
        filetype_exclude = { "markdown", "diff" }
    },
    init = function()
        vim.keymap.set('n', "<leader>tt", require("tidy").toggle, {})
        vim.keymap.set('n', "<leader>tr", require("tidy").run, {})
    end
}

Configuration

tidy.nvim comes with the following options and their default settings:

{
  enabled_on_save = true
  filetype_exclude = {}  -- Tidy will not be enabled for any filetype, e.g. "markdown", in this table
}

tidy.nvim also comes with the following functions, which may be mapped:

Lua Description
require("tidy").toggle() Turn tidy.nvim off for the current buffer
require("tidy").run() Run the formatting functionality of tidy.nvim off without saving
init = function()
     vim.keymap.set('n', "<leader>tt", require("tidy").toggle, {})
     vim.keymap.set('n', "<leader>tr", require("tidy").run, {})
end

About and Credits

I originally wrote this as a wrapper around a couple of vim regex commands used for formatting files before I began using formatters. These commands are not mine, please see the sources below. Even with real formatters in my setup now, I still like and use this because I like these specific formats to be applied to every buffer and don't want to have a formatting tool installed for them.