mirror of
https://github.com/m-housh/dotfiles.git
synced 2026-02-14 06:12:34 +00:00
61 lines
1.3 KiB
Lua
61 lines
1.3 KiB
Lua
local defaultGroupOptions = { clear = true }
|
|
local markdownGroup = vim.api.nvim_create_augroup("MyMarkdownGroup", defaultGroupOptions)
|
|
local spellGroup = vim.api.nvim_create_augroup('SpellGroup', defaultGroupOptions)
|
|
local createCmd = vim.api.nvim_create_autocmd
|
|
|
|
-- Remove all trailing whitespace on save
|
|
vim.api.nvim_exec([[
|
|
augroup TrimWhiteSpace
|
|
au!
|
|
autocmd BufWritePre * :%s/\s\+$//e
|
|
augroup END
|
|
]], false)
|
|
|
|
-- Prevent new line to also start with a comment
|
|
vim.api.nvim_exec([[
|
|
augroup NewLineComment
|
|
au!
|
|
au FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o
|
|
augroup END
|
|
]], false)
|
|
|
|
-- Spell check
|
|
createCmd(
|
|
"BufEnter",
|
|
{
|
|
pattern = { '*.md', '*.markdown', '*.txt', '*.tex' },
|
|
group = spellGroup,
|
|
callback = function(_)
|
|
vim.cmd.setlocal('textwidth=80')
|
|
vim.cmd.setlocal('spell spelllang=en_us')
|
|
end,
|
|
}
|
|
)
|
|
|
|
-- Markdown
|
|
createCmd(
|
|
"BufWritePost",
|
|
{
|
|
pattern = { "*.md", "*.markdown" },
|
|
group = markdownGroup,
|
|
callback = function(_)
|
|
local cursor = vim.fn.getpos('.')
|
|
vim.cmd("FormatWrite")
|
|
vim.fn.setpos('.', cursor)
|
|
end,
|
|
}
|
|
)
|
|
|
|
-- Go
|
|
createCmd(
|
|
"BufWritePre",
|
|
{
|
|
pattern = "*.go",
|
|
callback = function()
|
|
require('go.format').goimport()
|
|
end,
|
|
group = vim.api.nvim_create_augroup("GoFormat", defaultGroupOptions)
|
|
}
|
|
)
|
|
|