Home

Awesome

tidy.nvim 🧹

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

tidy

Requirements

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:

LuaDescription
require("tidy").toggle()Turn tidy.nvim off for the current buffer a plugin
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.