Merge pull request #2 from mcauley-penney/cfg

chore, docs:
main
mp 3 years ago committed by GitHub
commit 1720fb50d0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -1,9 +1,11 @@
# tidy.nvim 🧹
A function and autocommand pair that removes all
A function and autocommand pair that can
- trailing whitespace
- empty lines at the end of the buffer
- remove all empty lines at the top of the buffer
- remove all trailing whitespace
- remove a variable amount of empty lines at the end of the buffer
- condense multiple empty lines into one
on every `BufWritePre`.

@ -11,7 +11,6 @@ local M = {
}
function M.setup(user_config)
-- integrate user configuration
M.config = vim.tbl_deep_extend("force", M.config, user_config or {})
@ -27,22 +26,23 @@ function M.tidy_up()
local cmd_mods = ":keepjumps keeppatterns silent! "
local patterns = {
-- delete all new lines at beginning of file
sof = [[%s/\%^\n*/]],
-- delete all lines at end of buffer, see source 2
-- delete all lines at end of buffer, see sources
eof = [[0;/^\%(\n*.\)\@!/ + ]] .. M.config.eof_quant .. ",$d",
-- compress all instances of multiple newlines into one
-- compress all instances of multiple newlines into one, see sources
multi = [[:%s/\n\{2,}/\r\r/e]],
-- delete all whitespace, see source 1
-- delete all new lines at beginning of file
sof = [[%s/\%^\n*/]],
-- delete all whitespace, see sources
ws = [[%s/\s\+$//e]]
}
-- get tuple of cursor position before making changes
local pos = vim.api.nvim_win_get_cursor(0)
-- execute chosen patterns
for _, fmt_type in ipairs(M.config.fmts) do
vim.cmd(cmd_mods .. patterns[fmt_type])
end

Loading…
Cancel
Save