From 668a8a6d5f38fe161d32b7ee1d04976fc0408723 Mon Sep 17 00:00:00 2001 From: José Juan Loeza Sierra Date: Sat, 8 Nov 2025 12:53:30 -0800 Subject: create and add custom spellcheck plugin much credit to this post: https://www.reddit.com/r/neovim/comments/1fwqc8t/how_to_enable_spell_check_for_only_specific_files/ --- dot-config/nvim/lua/spellcheck.lua | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 dot-config/nvim/lua/spellcheck.lua (limited to 'dot-config/nvim/lua/spellcheck.lua') diff --git a/dot-config/nvim/lua/spellcheck.lua b/dot-config/nvim/lua/spellcheck.lua new file mode 100644 index 0000000..8ebc8c5 --- /dev/null +++ b/dot-config/nvim/lua/spellcheck.lua @@ -0,0 +1,37 @@ +-- To enable spellchecking +-- +-- Credits +-- https://www.reddit.com/r/neovim/comments/1fwqc8t/how_to_enable_spell_check_for_only_specific_files/ + +local M = {} + +local default_config = { + filetypes = { "markdown" }, +} + +local function enable_spell(config) + config = config or default_config + + -- Set global spell to false initially for all files + vim.opt.spell = false + + -- Create augroup + vim.api.nvim_create_augroup("Spellcheck", { clear = true }) + + -- Create autocommand to enable spellcheck + vim.api.nvim_create_autocmd({ "FileType" }, { + group = "Spellcheck", -- Grouping for easier management + pattern = config.filetypes, -- Only for these filetypes + callback = function() + vim.opt_local.spell = true -- Enable spellcheck + vim.opt_local.spelllang = "en_us" -- Set language + end, + desc = "Enable spellcheck for defined filetypes", + }) +end + +function M.setup(config) + enable_spell(config) +end + +return M -- cgit v1.3