From 471f68d9bb9e00e7cbc352c452e7e314dced17bb Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Mon, 16 Dec 2024 17:38:40 +0100 Subject: [PATCH] plugins/vim-bbye: migrate to mkVimPlugin --- .../dev/list-plugins/list-plugins.py | 1 - plugins/by-name/vim-bbye/default.nix | 41 +++++++------------ 2 files changed, 15 insertions(+), 27 deletions(-) diff --git a/flake-modules/dev/list-plugins/list-plugins.py b/flake-modules/dev/list-plugins/list-plugins.py index 82ed1483..55df9c6d 100755 --- a/flake-modules/dev/list-plugins/list-plugins.py +++ b/flake-modules/dev/list-plugins/list-plugins.py @@ -84,7 +84,6 @@ KNOWN_PATHS: dict[ Kind.NEOVIM, True, ), - "plugins/by-name/vim-bbye/default.nix": (State.OLD, Kind.VIM, False), # No options "plugins/by-name/vim-matchup/default.nix": (State.OLD, Kind.VIM, False), "plugins/colorschemes/base16/default.nix": (State.NEW, Kind.VIM, True), "plugins/lsp/default.nix": (State.NEW, Kind.MISC, False), diff --git a/plugins/by-name/vim-bbye/default.nix b/plugins/by-name/vim-bbye/default.nix index a574f485..67268ade 100644 --- a/plugins/by-name/vim-bbye/default.nix +++ b/plugins/by-name/vim-bbye/default.nix @@ -1,59 +1,48 @@ { lib, - helpers, - config, - pkgs, ... }: -with lib; let - cfg = config.plugins.vim-bbye; + inherit (lib.nixvim) mkNullOrOption; + inherit (lib) types; in -{ - options.plugins.vim-bbye = { - enable = mkEnableOption "vim-bbye"; +lib.nixvim.vim-plugin.mkVimPlugin { + name = "vim-bbye"; - package = lib.mkPackageOption pkgs "vim-bbye" { - default = [ - "vimPlugins" - "vim-bbye" - ]; - }; + maintainers = [ lib.maintainers.GaetanLepage ]; - keymapsSilent = mkOption { + extraOptions = { + keymapsSilent = lib.mkOption { type = types.bool; description = "Whether vim-bbye keymaps should be silent."; default = false; }; keymaps = { - bdelete = helpers.mkNullOrOption types.str '' + bdelete = mkNullOrOption types.str '' Keymap for deleting the current buffer."; ''; - bwipeout = helpers.mkNullOrOption types.str '' + bwipeout = mkNullOrOption types.str '' Keymap for completely deleting the current buffer."; ''; }; }; - config = mkIf cfg.enable { - extraPlugins = [ cfg.package ]; - + extraConfig = cfg: { keymaps = - with cfg.keymaps; - helpers.keymaps.mkKeymaps + lib.nixvim.keymaps.mkKeymaps { mode = "n"; options.silent = cfg.keymapsSilent; } ( - (optional (bdelete != null) { - key = bdelete; + (lib.optional (cfg.keymaps.bdelete != null) { + key = cfg.keymaps.bdelete; action = ":Bdelete"; }) - ++ (optional (bwipeout != null) { - key = bwipeout; + ++ (lib.optional (cfg.keymaps.bwipeout != null) { + key = cfg.keymaps.bwipeout; action = ":Bwipeout"; }) );