From 427fd1d063276bd6ff5ee8acf4a3935264a1063a Mon Sep 17 00:00:00 2001 From: Michael Housh Date: Mon, 2 Oct 2023 12:39:10 -0400 Subject: [PATCH] Added spell check to text and other formats, fixes markdown autocmd to remember cursor position --- nvim/m-housh/lua/user/autocmd.lua | 36 +++++++++++++++++++------------ 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/nvim/m-housh/lua/user/autocmd.lua b/nvim/m-housh/lua/user/autocmd.lua index 94ae06b..0ee06e2 100644 --- a/nvim/m-housh/lua/user/autocmd.lua +++ b/nvim/m-housh/lua/user/autocmd.lua @@ -1,3 +1,8 @@ +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 @@ -14,38 +19,41 @@ vim.api.nvim_exec([[ augroup END ]], false) --- Wrap markdown lines when a buffer is written. -local markdownGroup = vim.api.nvim_create_augroup("MyMarkdownGroup", { clear = true }) - -vim.api.nvim_create_autocmd( +-- Spell check +createCmd( "BufEnter", { - pattern = { "*.md", "*.markdown" }, - group = markdownGroup, - callback = function(event) - vim.cmd.setlocal('textwidth=80') + pattern = { '*.md', '*.markdown', '*.txt', '*.tex' }, + group = spellGroup, + callback = function(_) vim.cmd.setlocal('spell spelllang=en_us') - end + end, } ) -vim.api.nvim_create_autocmd( +-- Markdown +createCmd( "BufWritePre", { pattern = { "*.md", "*.markdown" }, - command = ":normal ggVGgq", - group = markdownGroup + group = markdownGroup, + callback = function(_) + local cursor = vim.fn.getpos('.') + vim.cmd(':normal ggVgq') + vim.fn.setpos('.', cursor) + end, } ) -vim.api.nvim_create_autocmd( +-- Go +createCmd( "BufWritePre", { pattern = "*.go", callback = function() require('go.format').goimport() end, - group = vim.api.nvim_create_augroup("GoFormat", { clear = true }) + group = vim.api.nvim_create_augroup("GoFormat", defaultGroupOptions) } )