nvim: mode aware CursorLineNr

This commit is contained in:
Primrose 2025-07-12 20:31:33 +02:00
parent 10c8aa854d
commit 15bf9075e7
Signed by: primrose
GPG key ID: 4E887A4CA9714ADA

View file

@ -42,3 +42,38 @@ vim.api.nvim_create_autocmd("LspProgress", {
group = vim.api.nvim_create_augroup("UserLspConfig", {}),
callback = function() require("fidget").setup {} end,
})
-- Little trick to set the CursorLineNr to colors I like
-- TODO: maybe upstream this to curry.nvim one day?
do
local cursorLineNr = nil
local group = vim.api.nvim_create_augroup("ModeAwareCursorLineNr", {})
vim.api.nvim_create_autocmd("Colorscheme", {
group = group,
callback = function() cursorLineNr = vim.api.nvim_get_hl(0, { name = "CursorLineNr" }) end,
})
vim.api.nvim_create_autocmd("ModeChanged", {
pattern = "*:n",
group = group,
callback = function() vim.api.nvim_set_hl(0, "CursorLineNr", cursorLineNr) end,
})
vim.api.nvim_create_autocmd("ModeChanged", {
pattern = "*:i",
group = group,
callback = function()
local function_ = vim.api.nvim_get_hl(0, { name = "Function" })
vim.api.nvim_set_hl(0, "CursorLineNr", vim.tbl_deep_extend("force", function_, { reverse = true }))
end,
})
vim.api.nvim_create_autocmd("ModeChanged", {
pattern = "*:[Vv\22]*",
group = group,
callback = function()
local keyword = vim.api.nvim_get_hl(0, { name = "Keyword" })
vim.api.nvim_set_hl(0, "CursorLineNr", vim.tbl_deep_extend("force", keyword, { reverse = true }))
end,
})
end