dotfiles/nvim-new/plugin/autocmds.lua

36 lines
834 B
Lua

local autocmd = vim.api.nvim_create_autocmd
local augroup = vim.api.nvim_create_augroup
local highlight_grp = augroup("kickstart-highlight-yank", { clear = true })
autocmd("TextYankPost", {
desc = "Highlight when yanking (copying) text",
group = highlight_grp,
callback = function()
vim.hl.on_yank()
end,
})
autocmd({ "BufWritePre" }, {
pattern = { "*" },
command = [[%s/\s\+$//e]],
})
-- Filetype detection
local filetype_maps = {
{ pattern = "*.tf", ft = "terraform" },
{ pattern = "*.pro", ft = "progruard" },
{ pattern = "*.mjml", ft = "html" },
}
for _, mapping in ipairs(filetype_maps) do
autocmd({ "BufRead", "BufNewFile" }, {
desc = string.format("Enforce filetype for %s", mapping["pattern"]),
pattern = { mapping["pattern"] },
callback = function()
vim.opt.filetype = mapping["ft"]
end,
})
end