plugins/tagbar: switch to using mkPlugin

This commit is contained in:
Gaetan Lepage 2024-01-07 11:40:13 +01:00 committed by Gaétan Lepage
parent bc0886c6bb
commit c498d0b9c9

View file

@ -1,32 +1,13 @@
{ {
lib, lib,
helpers,
config,
pkgs, pkgs,
... ...
}: let } @ args:
cfg = config.plugins.tagbar; with lib;
in with import ../helpers.nix {inherit lib;};
with lib; { mkPlugin args {
options.plugins.tagbar = { name = "tagbar";
enable = mkEnableOption "tagbar"; package = pkgs.vimPlugins.tagbar;
globalPrefix = "tagbar_";
package = helpers.mkPackageOption "tagbar" pkgs.vimPlugins.tagbar; extraPackages = [pkgs.ctags];
extraConfig = helpers.mkNullOrOption types.attrs ''
The configuration options for tagbar without the 'tagbar_' prefix.
Example: To set 'tagbar_show_tag_count' to 1, write
extraConfig = {
show_tag_count = true;
};
'';
};
config = mkIf cfg.enable {
extraPlugins = [cfg.package];
extraPackages = [pkgs.ctags];
globals = mapAttrs' (name: nameValuePair ("tagbar_" + name)) cfg.extraConfig;
};
} }