A small Neovim plugin to remove trailing whitespace and empty lines at end of file on every save
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tiyn 15ff2a11f1
Change BufWritePre to BufLeave
11 months ago
.github/workflows ci: attribute doc workflow commits only to the bot 1 year ago
doc chore(build): auto-generate vimdoc 1 year ago
lua/tidy Change BufWritePre to BufLeave 11 months ago
README.md docs: change `config` to `opts` in example lazy.nvim cfg 1 year ago

README.md

tidy.nvim 🧹

tidy.nvim removes trailing white space and empty lines on BufWritePre.

tidy-demo

Features

  • Remove white space at the end of every line on save
  • Remove empty lines at the end of the buffer on save

Requirements

  • Neovim >= 0.9.0

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

Installation

Your installation configuration will depend on your plugin manager. Below is the basic installation (using default options) for lazy.nvim.

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

Configuration

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

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

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

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

Usage

tidy.nvim comes with the following functions:

Lua Description
require("tidy").toggle() Turn tidy.nvim off for the current buffer a plugin

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.