@ -9,26 +9,86 @@ on every `BufWritePre`.

## install
- Packer with default configuration and lazy-loading
## install
- Packer
```lua
use{
"mcauley-penney/tidy.nvim",
config = function()
require "tidy".setup{}
end,
event = "BufWritePre"
}
```
## Configuration
### default
Tidy comes with the below default configuration:
```lua
use "McAuleyPenney/tidy.nvim"
local M = {
config = {
eof_quant = -1, -- the amount of empty lines to leave at the end of
-- the file; -1 = no lines, 0 = 1 line, no limit;
-- only applies if "eof" given to "fmts"
fmts = { -- the types of formattings to apply
"eof", -- removes lines at end of file
"multi", -- condenses multiple newlines into one
"sof", -- removes lines at start of file
"ws" -- removes trailing whitespace
}
}
}
```
or with lazy-loading
### how to customize
To customize which formattings will apply, give a list to the `setup` function:
```lua
use{ "McAuleyPenney/tidy.nvim", event = "BufWritePre" }
```
use{
"mcauley-penney/tidy.nvim",
config = function()
require "tidy".setup{
fmts = {
"eof",
"ws"
}
}
end,
event = "BufWritePre"
}
```
### formatting styles
- `eof` : remove a variable amount of newlines at end of file

- `multi` : condenses multiple newlines into one

- `sof` : removes lines at start of file

- `ws` : remove whitespace

## Credits:
- [Vim Tips Wiki entry for removing unwanted spaces ](https://vim.fandom.com/wiki/Remove_unwanted_spaces#Automatically_removing_all_trailing_whitespace )
- ib., the author of [this stack overflow answer ](https://stackoverflow.com/a/7501902 )
- [Vim Tips Wiki entry ](https://vim.fandom.com/wiki/Remove_unwanted_spaces#Automatically_removing_all_trailing_whitespace )
for removing unwanted spaces
- ib., the author of [this stack overflow answer ](https://stackoverflow.com/a/7501902 ), for how to remove empty lines at the
end of the buffer
- @blackboardd for how to choose how many lines will be kept
- [This line ](https://github.com/gpanders/editorconfig.nvim/blob/ae3586771996b2fb1662eb0c17f5d1f4f5759bb7/lua/editorconfig.lua#L180 )
in [gpanders/editorconfig.nvim ](https://github.com/gpanders/editorconfig.nvim ) for exposing me to the `keepjumps`
and `keeppatterns` modifiers
- [Vim Tips Wiki entry ](https://vim.fandom.com/wiki/Remove_unwanted_empty_lines ) for condensing multiple empty lines