that automatically also change my stylua.toml to ignore everything cause I don't like the way it formats stuff
52 lines
1.2 KiB
Lua
52 lines
1.2 KiB
Lua
local auto, augroup = core.misc.auto, core.misc.augroup
|
|
|
|
-- auto commands which interact with bufferes without modifying them
|
|
local bufcheck = augroup("bufcheck")
|
|
-- auto commands which modify things on the filesystem
|
|
local fsmod = augroup("fsmod")
|
|
|
|
auto("FocusGained", {
|
|
group = bufcheck,
|
|
desc = "Update contents of file.",
|
|
command = "checktime"
|
|
})
|
|
|
|
auto("TextYankPost", {
|
|
group = bufcheck,
|
|
desc = "Highlight on yank.",
|
|
callback = function()
|
|
vim.highlight.on_yank { timeout = 250 }
|
|
end
|
|
})
|
|
|
|
auto("BufRead", {
|
|
group = bufcheck,
|
|
desc = "Return to the last place the buffer was closed in.",
|
|
callback = function()
|
|
vim.fn.setpos(".", vim.fn.getpos("'\""))
|
|
vim.cmd("norm! zz")
|
|
end
|
|
})
|
|
|
|
auto("BufWritePre", {
|
|
group = fsmod,
|
|
desc = "remove trailing spaces on file save",
|
|
callback = function()
|
|
local pos = vim.api.nvim_win_get_cursor(0)
|
|
vim.cmd([[%s/\s\+$//e]])
|
|
vim.api.nvim_win_set_cursor(0, pos)
|
|
end
|
|
})
|
|
|
|
auto("BufWritePre", {
|
|
group = fsmod,
|
|
desc = "Basically mkdir -p.",
|
|
callback = function(ctx)
|
|
if ctx.match:match("^%w%w+://") then return end
|
|
local dir = vim.fn.fnamemodify(ctx.file, ":p:h")
|
|
vim.fn.mkdir(dir, "p")
|
|
end
|
|
})
|
|
|
|
core.color.setup_termbg_sync()
|