neovim-flake/modules/plugins/utility/ccc/config.nix

28 lines
714 B
Nix
Raw Normal View History

2023-06-04 09:41:10 +03:00
{
config,
lib,
...
}: let
2024-03-23 20:14:39 -04:00
inherit (lib.modules) mkIf;
inherit (lib.nvim.dag) entryAnywhere;
inherit (lib.nvim.lua) toLuaObject;
inherit (lib.generators) mkLuaInline;
2023-06-04 09:41:10 +03:00
cfg = config.vim.utility.ccc;
mkLuaIdentifier = prefix: identifier: mkLuaInline "${prefix}${identifier}";
mapSetupOptions = setupOpts:
setupOpts
// {
inputs = map (mkLuaIdentifier "ccc.input.") setupOpts.inputs;
outputs = map (mkLuaIdentifier "ccc.output.") setupOpts.outputs;
};
2023-06-04 09:41:10 +03:00
in {
config = mkIf cfg.enable {
2025-02-11 21:49:51 +03:00
vim.startPlugins = ["ccc-nvim"];
2023-06-04 09:41:10 +03:00
vim.pluginRC.ccc = entryAnywhere ''
2023-06-04 09:41:10 +03:00
local ccc = require("ccc")
ccc.setup(${toLuaObject (mapSetupOptions cfg.setupOpts)})
2023-06-04 09:41:10 +03:00
'';
};
}