ui/illuminate: move to setupOpts format

This commit is contained in:
raf 2025-02-28 03:34:03 +03:00
parent a4ef5e0f8c
commit a3f650e114
No known key found for this signature in database
GPG key ID: 29D95B64378DB4BF
2 changed files with 23 additions and 13 deletions

View file

@ -4,22 +4,20 @@
...
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.lua) toLuaObject;
inherit (lib.nvim.dag) entryAnywhere;
cfg = config.vim.ui.illuminate;
in {
config = mkIf cfg.enable {
vim.startPlugins = ["vim-illuminate"];
vim = {
startPlugins = ["vim-illuminate"];
vim.pluginRC.vim-illuminate = entryAnywhere ''
require('illuminate').configure({
filetypes_denylist = {
'dirvish',
'fugitive',
'NvimTree',
'TelescopePrompt',
},
})
'';
# vim-illuminate does not have a setup function. It is instead called 'configure'
# and does what you expect from a setup function. Wild.
pluginRC.vim-illuminate = entryAnywhere ''
require('illuminate').configure(${toLuaObject cfg.setupOpts})
'';
};
};
}

View file

@ -1,7 +1,19 @@
{lib, ...}: let
inherit (lib.options) mkEnableOption;
inherit (lib.options) mkOption mkEnableOption;
inherit (lib.types) listOf str;
inherit (lib.nvim.types) mkPluginSetupOption;
in {
options.vim.ui.illuminate = {
enable = mkEnableOption "automatically highlight other uses of the word under the cursor [vim-illuminate]";
enable = mkEnableOption ''
automatically highlight other uses of the word under the cursor [vim-illuminate]
'';
setupOpts = mkPluginSetupOption "vim-illuminate" {
filetypes_denylist = mkOption {
type = listOf str;
default = ["dirvish" "fugitive" "NvimTree" "TelescopePrompt"];
description = "Filetypes to not illuminate, this overrides `filetypes_allowlist`";
};
};
};
}