1 -- (Neo)Vim plugin for automatically highlighting other uses of the word under
2 -- the cursor using either LSP, Tree-sitter, or regex matching.
3 -- https://github.com/RRethy/vim-illuminate
9 require("illuminate").configure({
10 -- providers: provider used to get references in the buffer, ordered by priority
16 -- delay: delay in milliseconds
18 -- filetype_overrides: filetype specific overrides.
19 -- The keys are strings to represent the filetype while the values are tables that
20 -- supports the same keys passed to .configure except for filetypes_denylist and filetypes_allowlist
21 filetype_overrides = {},
22 -- filetypes_denylist: filetypes to not illuminate, this overrides filetypes_allowlist
23 filetypes_denylist = {
33 -- filetypes_allowlist: filetypes to illuminate, this is overridden by filetypes_denylist
34 -- You must set filetypes_denylist = {} to override the defaults to allow filetypes_allowlist to take effect
35 filetypes_allowlist = {},
36 -- modes_denylist: modes to not illuminate, this overrides modes_allowlist
37 -- See `:help mode()` for possible values
39 -- modes_allowlist: modes to illuminate, this is overridden by modes_denylist
40 -- See `:help mode()` for possible values
42 -- providers_regex_syntax_denylist: syntax to not illuminate, this overrides providers_regex_syntax_allowlist
43 -- Only applies to the 'regex' provider
44 -- Use :echom synIDattr(synIDtrans(synID(line('.'), col('.'), 1)), 'name')
45 providers_regex_syntax_denylist = {},
46 -- providers_regex_syntax_allowlist: syntax to illuminate, this is overridden by providers_regex_syntax_denylist
47 -- Only applies to the 'regex' provider
48 -- Use :echom synIDattr(synIDtrans(synID(line('.'), col('.'), 1)), 'name')
49 providers_regex_syntax_allowlist = {},
50 -- under_cursor: whether or not to illuminate under the cursor
52 -- large_file_cutoff: number of lines at which to use large_file_config
53 -- The `under_cursor` option is disabled when this cutoff is hit
54 large_file_cutoff = 10000,
55 -- large_file_config: config to use for large files (based on large_file_cutoff).
56 -- Supports the same keys passed to .configure
57 -- If nil, vim-illuminate will be disabled for large files.
58 large_file_overrides = nil,
59 -- min_count_to_highlight: minimum number of matches required to perform highlighting
60 min_count_to_highlight = 1,
61 -- should_enable: a callback that overrides all other settings to
62 -- enable/disable illumination. This will be called a lot so don't do
63 -- anything expensive in it.
64 should_enable = function(bufnr)
67 -- case_insensitive_regex: sets regex case sensitivity
68 case_insensitive_regex = false,
69 -- disable_keymaps: disable default keymaps
70 disable_keymaps = false,