-- Remove any trailing whitespace from the file on write vim.api.nvim_create_autocmd({ 'BufWritePre' }, { command = [[%s/\s\+$//e]] }) vim.api.nvim_create_autocmd({ 'BufWritePre' }, { pattern = { '*.go' }, callback = function () require('go.format').gofmt() end, }) -- Load file on last line -- TODO: change this to use lua vim.api.nvim_create_autocmd({ 'BufRead' }, { command = [[if @% !~# '\.git[\/\\]COMMIT_EDITMSG$' && line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g`\"" | endif]] }) -- Save session on VimLeave vim.api.nvim_create_autocmd({ 'VimLeave' }, { command = [[mksession! ~/.config/nvim/session/shutdown_session.vim]] }) -- Set tabs to 2 for dart, vue, and js files vim.api.nvim_create_autocmd({ 'BufNewFile', 'BufRead' }, { pattern = { '*.dart', '*.vue', '*.js' }, callback = function() vim.o.tabstop = 2 vim.o.softtabstop = 2 vim.o.shiftwidth = 2 end }) -- Ensure to read .docker files as a dockerfile vim.api.nvim_create_autocmd({ 'BufNewFile', 'BufRead' }, { pattern = { '*.docker' }, callback = function() vim.o.syntax = 'dockerfile' end })