primitive spell checking

This commit is contained in:
2026-09-18 17:45:45 +02:00
parent a0e45a6dec
commit e8027c8c7f
6 changed files with 54 additions and 12 deletions
+1
View File
@@ -57,6 +57,7 @@ Git shortcuts:
Toggle shortcuts: Toggle shortcuts:
- `<leader>tw` toggle soft wrap - `<leader>tw` toggle soft wrap
- `<leader>ts` toggle spell checking
- `<leader>ti` toggle inline diagnostics - `<leader>ti` toggle inline diagnostics
- `<leader>tv` toggle virtual diagnostics - `<leader>tv` toggle virtual diagnostics
- `<leader>th` — toggle the expanded hunk view - `<leader>th` — toggle the expanded hunk view
@@ -0,0 +1,35 @@
local M = {}
--- Toggle spell checking for the current window.
function M.toggle()
if vim.bo.buftype == "terminal" then
return
end
vim.opt_local.spell = not vim.wo.spell
vim.cmd("redrawstatus")
end
function M.setup()
vim.opt.spelllang = { "en_us" }
vim.opt.spell = true
local group = vim.api.nvim_create_augroup("RomanzySpell", { clear = true })
vim.api.nvim_create_autocmd("FileType", {
group = group,
pattern = "terminal",
callback = function()
vim.opt_local.spell = false
end,
})
vim.api.nvim_create_autocmd("TermOpen", {
group = group,
callback = function()
vim.cmd("setfiletype terminal")
end,
})
end
return M
@@ -31,6 +31,7 @@ map("n", "<leader>lg", "<Cmd>LazyGit<CR>", { desc = "open lazygit" })
map("n", "<leader>dv", "<Cmd>DiffviewOpen<CR>", { desc = "open diffview" }) map("n", "<leader>dv", "<Cmd>DiffviewOpen<CR>", { desc = "open diffview" })
map("n", "<leader>dc", "<Cmd>DiffviewClose<CR>", { desc = "close diffview" }) map("n", "<leader>dc", "<Cmd>DiffviewClose<CR>", { desc = "close diffview" })
map("n", "<leader>tw", require("romanzy.custom.wrap").toggle, { desc = "toggle soft wrap" }) map("n", "<leader>tw", require("romanzy.custom.wrap").toggle, { desc = "toggle soft wrap" })
map("n", "<leader>ts", require("romanzy.custom.spell").toggle, { desc = "toggle spell checking" })
map("n", "<leader>th", function() map("n", "<leader>th", function()
MiniDiff.toggle_overlay() MiniDiff.toggle_overlay()
end, { desc = "toggle hunk view" }) end, { desc = "toggle hunk view" })
@@ -32,7 +32,6 @@ o.incsearch = true -- Updates search m
o.completeopt = { "menuone", "noinsert", "fuzzy", "nosort" } -- Enables fuzzy completion matching. o.completeopt = { "menuone", "noinsert", "fuzzy", "nosort" } -- Enables fuzzy completion matching.
o.pumheight = 8 -- Limits the completion popup menu size. o.pumheight = 8 -- Limits the completion popup menu size.
o.updatetime = 50 -- Reduces idle delay for swap and CursorHold events. o.updatetime = 50 -- Reduces idle delay for swap and CursorHold events.
o.spelllang = { "en_us" } -- Uses US English for spell checking.
o.shell = "bash" -- Runs shell commands through bash. o.shell = "bash" -- Runs shell commands through bash.
-- Only show the invisible characters inside the code editing buffers -- Only show the invisible characters inside the code editing buffers
@@ -9,4 +9,5 @@ require("romanzy.plugins.nvim-treesitter")
require("romanzy.plugins.conform") require("romanzy.plugins.conform")
require("romanzy.plugins.lsp") require("romanzy.plugins.lsp")
require("romanzy.plugins.codamheader") require("romanzy.plugins.codamheader")
require("romanzy.custom.spell").setup()
require("romanzy.custom.tabline").setup() require("romanzy.custom.tabline").setup()
+10 -5
View File
@@ -77,7 +77,9 @@ vim.api.nvim_create_autocmd("ColorScheme", {
callback = set_mini_diff_highlights, callback = set_mini_diff_highlights,
}) })
local function statusline_filetype() -- Custom de-cluttered status line output. The default was waaay to noisy
local function statusline_active()
local function statusline_filetype()
local filetype = vim.bo.filetype local filetype = vim.bo.filetype
if filetype == "" then if filetype == "" then
return "" return ""
@@ -85,16 +87,19 @@ local function statusline_filetype()
local icon = MiniIcons.get("filetype", filetype) local icon = MiniIcons.get("filetype", filetype)
return icon .. " " .. filetype return icon .. " " .. filetype
end end
local function statusline_spell()
return vim.wo.spell and "spell" or ""
end
-- Custom de-cluttered status line output. The default was waaay to noisy
local function statusline_active()
local mode, mode_hl = statusline.section_mode({ trunc_width = 120 }) local mode, mode_hl = statusline.section_mode({ trunc_width = 120 })
local git_info = statusline.section_git({ trunc_width = 40 }) local git_info = statusline.section_git({ trunc_width = 40 })
-- local diff_info = statusline.section_diff({ trunc_width = 75 }) -- local diff_info = statusline.section_diff({ trunc_width = 75 })
-- local diagnostics = statusline.section_diagnostics({ trunc_width = 75 }) -- local diagnostics = statusline.section_diagnostics({ trunc_width = 75 })
local lsp = statusline.section_lsp({ trunc_width = 75 }) local lsp = statusline.section_lsp({ trunc_width = 75 })
local filename = statusline.section_filename({ trunc_width = 140 }) local filename = statusline.section_filename({ trunc_width = 140 })
local spell = statusline_spell()
local fileinfo = statusline_filetype() local fileinfo = statusline_filetype()
local search = statusline.section_searchcount({ trunc_width = 75 }) local search = statusline.section_searchcount({ trunc_width = 75 })
@@ -104,7 +109,7 @@ local function statusline_active()
"%<", "%<",
{ hl = "MiniStatuslineFilename", strings = { filename } }, { hl = "MiniStatuslineFilename", strings = { filename } },
"%=", "%=",
{ hl = "MiniStatuslineFileinfo", strings = { fileinfo } }, { hl = "MiniStatuslineFileinfo", strings = { spell, fileinfo } },
{ hl = mode_hl, strings = { search } }, { hl = mode_hl, strings = { search } },
}) })
end end