1
0
Fork 0
dotfiles/.config/nvim/lua/config/autocmd.lua
2026-01-30 15:47:24 +03:00

53 lines
1.2 KiB
Lua

-- Set proper tabstop for go
vim.api.nvim_create_autocmd('FileType', {
pattern = "go",
command = "setlocal tabstop=4 noexpandtab",
})
-- Remove trailing whitespaces on save
vim.api.nvim_create_autocmd('BufWritePre', {
callback = function()
if vim.fn.expand('%:e') == 'md' then return end
local view = vim.fn.winsaveview()
vim.cmd('%s/\\s\\+$//e')
vim.fn.winrestview(view)
end
})
-- Highlight on yank
vim.api.nvim_create_autocmd('TextYankPost', {
callback = function()
vim.highlight.on_yank({ higroup = "Visual", timeout = 400 })
end
})
local filetypes = {
json = 'jsonc',
j2 = 'jinja',
service = 'systemd'
}
for ext, ft in pairs(filetypes) do
vim.api.nvim_create_autocmd({ "BufRead", "BufNewFile" }, {
pattern = "*." .. ext,
callback = function()
vim.bo.filetype = ft
end,
})
end
local spell_filetypes = {
'markdown',
'text',
'gitcommit'
}
for _, ext in ipairs(spell_filetypes) do
vim.api.nvim_create_autocmd('FileType', {
pattern = ext,
callback = function()
vim.cmd 'setlocal spell'
end,
})
end