diff options
author | LostNeophyte <[email protected]> | 2023-02-11 14:41:45 +0100 |
---|---|---|
committer | LostNeophyte <[email protected]> | 2023-02-11 14:44:24 +0100 |
commit | 7be867e2aac31ef04565eaba6b416ede766c06d7 (patch) | |
tree | 413dc6c0e82b04e14f505b7f291ed56f97dea9ea /lua/lvim/core/builtins/illuminate.lua | |
parent | ed5b43bba06e6d1ef7b6bd7ed95c55b64e2df3c8 (diff) |
refactor(builtins): move builtins to ./builtins
Diffstat (limited to 'lua/lvim/core/builtins/illuminate.lua')
-rw-r--r-- | lua/lvim/core/builtins/illuminate.lua | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/lua/lvim/core/builtins/illuminate.lua b/lua/lvim/core/builtins/illuminate.lua new file mode 100644 index 00000000..75afa362 --- /dev/null +++ b/lua/lvim/core/builtins/illuminate.lua @@ -0,0 +1,69 @@ +local M = {} + +M.config = function() + lvim.builtin.illuminate = { + active = true, + options = { + -- providers: provider used to get references in the buffer, ordered by priority + providers = { + "lsp", + "treesitter", + "regex", + }, + -- delay: delay in milliseconds + delay = 120, + -- filetype_overrides: filetype specific overrides. + -- The keys are strings to represent the filetype while the values are tables that + -- supports the same keys passed to .configure except for filetypes_denylist and filetypes_allowlist + filetype_overrides = {}, + -- filetypes_denylist: filetypes to not illuminate, this overrides filetypes_allowlist + filetypes_denylist = { + "dirvish", + "fugitive", + "alpha", + "NvimTree", + "lazy", + "neogitstatus", + "Trouble", + "lir", + "Outline", + "spectre_panel", + "toggleterm", + "DressingSelect", + "TelescopePrompt", + }, + -- filetypes_allowlist: filetypes to illuminate, this is overridden by filetypes_denylist + filetypes_allowlist = {}, + -- modes_denylist: modes to not illuminate, this overrides modes_allowlist + modes_denylist = {}, + -- modes_allowlist: modes to illuminate, this is overridden 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 overridden 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, + }, + } +end + +M.setup = function() + local status_ok, illuminate = pcall(reload, "illuminate") + if not status_ok then + return + end + + local config_ok, _ = pcall(illuminate.configure, lvim.builtin.illuminate.options) + if not config_ok then + return + end + + return illuminate +end + +return M |