plugins/mark-radar: migrate to mkNeovimPlugin

This commit is contained in:
Austin Horstman 2025-02-01 17:45:30 -06:00
parent 0827c5cb6c
commit b0906aca2e
No known key found for this signature in database
2 changed files with 37 additions and 39 deletions

View file

@ -1,48 +1,41 @@
{ {
lib, lib,
helpers,
config,
pkgs,
... ...
}: }:
with lib;
let let
cfg = config.plugins.mark-radar; inherit (lib.nixvim) defaultNullOpts;
in in
{ lib.nixvim.plugins.mkNeovimPlugin {
options.plugins.mark-radar = lib.nixvim.plugins.neovim.extraOptionsOptions // { name = "mark-radar";
enable = mkEnableOption "mark-radar"; packPathName = "mark-radar.nvim";
package = "mark-radar-nvim";
package = lib.mkPackageOption pkgs "mark-radar" { maintainers = [ lib.maintainers.khaneliman ];
default = [
"vimPlugins"
"mark-radar-nvim"
];
};
setDefaultMappings = helpers.defaultNullOpts.mkBool true "Whether to set default mappings."; description = ''
Provides visual markers for easier navigation.
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(${lib.nixvim.toLuaObject setupOptions})
''; '';
settingsOptions = {
set_default_mappings = defaultNullOpts.mkBool true "Whether to set default mappings.";
highlight_group = defaultNullOpts.mkStr "RadarMark" "The name of the highlight group to use.";
background_highlight = defaultNullOpts.mkBool true "Whether to highlight the background.";
background_highlight_group = defaultNullOpts.mkStr "RadarBackground" "The name of the highlight group to use for the background.";
}; };
settingsExample = {
set_default_mappings = true;
highlight_group = "RadarMark";
background_highlight = true;
background_highlight_group = "RadarBackground";
};
# TODO: Deprecated in 2025-02-01
deprecateExtraOptions = true;
optionsRenamedToSettings = [
"setDefaultMappings"
"highlightGroup"
"backgroundHighlight"
"backgroundHighlightGroup"
];
} }

View file

@ -7,10 +7,15 @@
plugins.mark-radar = { plugins.mark-radar = {
enable = true; enable = true;
setDefaultMappings = true; settings = {
highlightGroup = "RadarMark"; set_default_mappings = true;
backgroundHighlight = true; highlight_group = "RadarMark";
backgroundHighlightGroup = "RadarBackground"; background_highlight = true;
background_highlight_group = "RadarBackground";
text_position = "overlay";
show_marks_at_jump_positions = true;
show_off_screen_marks = true;
};
}; };
}; };
} }