2022-09-19 19:12:52 +02:00
|
|
|
local M = {}
|
|
|
|
|
|
|
|
M.config = function()
|
2022-09-20 11:41:58 +02:00
|
|
|
lvim.builtin.illuminate = {
|
|
|
|
active = true,
|
|
|
|
on_config_done = nil,
|
2022-09-20 17:26:57 +02:00
|
|
|
options = {
|
|
|
|
-- providers: provider used to get references in the buffer, ordered by priority
|
|
|
|
providers = {
|
|
|
|
"lsp",
|
|
|
|
"treesitter",
|
|
|
|
"regex",
|
|
|
|
},
|
|
|
|
-- delay: delay in milliseconds
|
|
|
|
delay = 120,
|
|
|
|
-- filetypes_denylist: filetypes to not illuminate, this overrides filetypes_allowlist
|
|
|
|
filetypes_denylist = {
|
|
|
|
"dirvish",
|
|
|
|
"fugitive",
|
|
|
|
"alpha",
|
|
|
|
"NvimTree",
|
|
|
|
"packer",
|
|
|
|
"neogitstatus",
|
|
|
|
"Trouble",
|
|
|
|
"lir",
|
|
|
|
"Outline",
|
|
|
|
"spectre_panel",
|
|
|
|
"toggleterm",
|
|
|
|
"DressingSelect",
|
|
|
|
"TelescopePrompt",
|
|
|
|
},
|
|
|
|
-- filetypes_allowlist: filetypes to illuminate, this is overriden by filetypes_denylist
|
|
|
|
filetypes_allowlist = {},
|
|
|
|
-- modes_denylist: modes to not illuminate, this overrides modes_allowlist
|
|
|
|
modes_denylist = {},
|
|
|
|
-- modes_allowlist: modes to illuminate, this is overriden by modes_denylist
|
|
|
|
modes_allowlist = {},
|
|
|
|
-- providers_regex_syntax_denylist: syntax to not illuminate, this overrides providers_regex_syntax_allowlist
|
|
|
|
-- Only applies to the 'regex' provider
|
|
|
|
-- Use :echom synIDattr(synIDtrans(synID(line('.'), col('.'), 1)), 'name')
|
|
|
|
providers_regex_syntax_denylist = {},
|
|
|
|
-- providers_regex_syntax_allowlist: syntax to illuminate, this is overriden by providers_regex_syntax_denylist
|
|
|
|
-- Only applies to the 'regex' provider
|
|
|
|
-- Use :echom synIDattr(synIDtrans(synID(line('.'), col('.'), 1)), 'name')
|
|
|
|
providers_regex_syntax_allowlist = {},
|
|
|
|
-- under_cursor: whether or not to illuminate under the cursor
|
|
|
|
under_cursor = true,
|
|
|
|
},
|
2022-09-20 11:41:58 +02:00
|
|
|
}
|
2022-09-20 17:26:57 +02:00
|
|
|
end
|
2022-09-20 11:41:58 +02:00
|
|
|
|
2022-09-20 17:26:57 +02:00
|
|
|
M.setup = function()
|
2022-09-19 19:12:52 +02:00
|
|
|
local status_ok, illuminate = pcall(require, "illuminate")
|
|
|
|
if not status_ok then
|
|
|
|
return
|
|
|
|
end
|
2022-09-20 11:41:58 +02:00
|
|
|
|
2022-09-20 17:26:57 +02:00
|
|
|
illuminate.configure(lvim.builtin.illuminate.options)
|
2022-09-20 11:41:58 +02:00
|
|
|
|
|
|
|
if lvim.builtin.illuminate.on_config_done then
|
|
|
|
lvim.builtin.illuminate.on_config_done()
|
|
|
|
end
|
2022-09-19 19:12:52 +02:00
|
|
|
end
|
|
|
|
|
|
|
|
return M
|