
## Description Adds a Toggle-Shortcut to enable/disable [Illuminate](https://github.com/RRethy/vim-illuminate) I dont think 'leader ux' is the right shortcut here. I just took the next free one. 
61 lines
1.6 KiB
Lua
61 lines
1.6 KiB
Lua
-- Automatically highlights other instances of the word under your cursor.
|
|
-- This works with LSP, Treesitter, and regexp matching to find the other
|
|
-- instances.
|
|
return {
|
|
{
|
|
"RRethy/vim-illuminate",
|
|
event = "LazyFile",
|
|
opts = {
|
|
delay = 200,
|
|
large_file_cutoff = 2000,
|
|
large_file_overrides = {
|
|
providers = { "lsp" },
|
|
},
|
|
},
|
|
config = function(_, opts)
|
|
require("illuminate").configure(opts)
|
|
|
|
Snacks.toggle({
|
|
name = "Illuminate",
|
|
get = function()
|
|
return not require("illuminate.engine").is_paused()
|
|
end,
|
|
set = function(enabled)
|
|
local m = require("illuminate")
|
|
if enabled then
|
|
m.resume()
|
|
else
|
|
m.pause()
|
|
end
|
|
end,
|
|
}):map("<leader>ux")
|
|
|
|
local function map(key, dir, buffer)
|
|
vim.keymap.set("n", key, function()
|
|
require("illuminate")["goto_" .. dir .. "_reference"](false)
|
|
end, { desc = dir:sub(1, 1):upper() .. dir:sub(2) .. " Reference", buffer = buffer })
|
|
end
|
|
|
|
map("]]", "next")
|
|
map("[[", "prev")
|
|
|
|
-- also set it after loading ftplugins, since a lot overwrite [[ and ]]
|
|
vim.api.nvim_create_autocmd("FileType", {
|
|
callback = function()
|
|
local buffer = vim.api.nvim_get_current_buf()
|
|
map("]]", "next", buffer)
|
|
map("[[", "prev", buffer)
|
|
end,
|
|
})
|
|
end,
|
|
keys = {
|
|
{ "]]", desc = "Next Reference" },
|
|
{ "[[", desc = "Prev Reference" },
|
|
},
|
|
},
|
|
{
|
|
"neovim/nvim-lspconfig",
|
|
opts = { document_highlight = { enabled = false } },
|
|
},
|
|
}
|