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."; settingsOptions = {
set_default_mappings = defaultNullOpts.mkBool true "Whether to set default mappings.";
backgroundHighlight = helpers.defaultNullOpts.mkBool true "Whether to highlight the background."; highlight_group = defaultNullOpts.mkStr "RadarMark" "The name of the highlight group to use.";
background_highlight = defaultNullOpts.mkBool true "Whether to highlight the background.";
backgroundHighlightGroup = helpers.defaultNullOpts.mkStr "RadarBackground" "The name of the highlight group to use for the background."; background_highlight_group = defaultNullOpts.mkStr "RadarBackground" "The name of the highlight group to use for the background.";
}; };
config = settingsExample = {
let set_default_mappings = true;
setupOptions = { highlight_group = "RadarMark";
set_default_mappings = cfg.setDefaultMappings; background_highlight = true;
highlight_group = cfg.highlightGroup; background_highlight_group = "RadarBackground";
background_highlight = cfg.backgroundHighlight; };
background_highlight_group = cfg.backgroundHighlightGroup;
} // cfg.extraOptions;
in
mkIf cfg.enable {
extraPlugins = [ cfg.package ];
extraConfigLua = '' # TODO: Deprecated in 2025-02-01
require("mark-radar").setup(${lib.nixvim.toLuaObject setupOptions}) 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;
};
}; };
}; };
} }