nix-community.nixvim/plugins/utils/mark-radar.nix

43 lines
1.2 KiB
Nix

{
lib,
helpers,
config,
pkgs,
...
}:
with lib;
let
cfg = config.plugins.mark-radar;
in
{
options.plugins.mark-radar = helpers.neovim-plugin.extraOptionsOptions // {
enable = mkEnableOption "mark-radar";
package = helpers.mkPluginPackageOption "mark-radar" pkgs.vimPlugins.mark-radar-nvim;
setDefaultMappings = helpers.defaultNullOpts.mkBool true "Whether to set default mappings.";
highlightGroup = helpers.defaultNullOpts.mkStr "RadarMark" "The name of the highlight group to use.";
backgroundHighlight = helpers.defaultNullOpts.mkBool true "Whether to highlight the background.";
backgroundHighlightGroup = helpers.defaultNullOpts.mkStr "RadarBackground" "The name of the highlight group to use for the background.";
};
config =
let
setupOptions = {
set_default_mappings = cfg.setDefaultMappings;
highlight_group = cfg.highlightGroup;
background_highlight = cfg.backgroundHighlight;
background_highlight_group = cfg.backgroundHighlightGroup;
} // cfg.extraOptions;
in
mkIf cfg.enable {
extraPlugins = [ cfg.package ];
extraConfigLua = ''
require("mark-radar").setup(${helpers.toLuaObject setupOptions})
'';
};
}