diff --git a/modules/plugins/utility/surround/config.nix b/modules/plugins/utility/surround/config.nix index 31b4033d..7161cf6b 100644 --- a/modules/plugins/utility/surround/config.nix +++ b/modules/plugins/utility/surround/config.nix @@ -4,33 +4,51 @@ ... }: let inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; cfg = config.vim.utility.surround; mkLznKey = mode: key: { - inherit mode key; + inherit key mode; }; in { config = mkIf cfg.enable { vim = { + startPlugins = ["nvim-surround"]; + pluginRC.surround = entryAnywhere "require('nvim-surround').setup(${toLuaObject cfg.setupOpts})"; + lazy.plugins.nvim-surround = { package = "nvim-surround"; - setupModule = "nvim-surround"; inherit (cfg) setupOpts; - keys = [ - (mkLznKey "i" cfg.setupOpts.keymaps.insert) - (mkLznKey "i" cfg.setupOpts.keymaps.insert_line) - (mkLznKey "x" cfg.setupOpts.keymaps.visual) - (mkLznKey "x" cfg.setupOpts.keymaps.visual_line) - (mkLznKey "n" cfg.setupOpts.keymaps.normal) - (mkLznKey "n" cfg.setupOpts.keymaps.normal_cur) - (mkLznKey "n" cfg.setupOpts.keymaps.normal_line) - (mkLznKey "n" cfg.setupOpts.keymaps.normal_cur_line) - (mkLznKey "n" cfg.setupOpts.keymaps.delete) - (mkLznKey "n" cfg.setupOpts.keymaps.change) - (mkLznKey "n" cfg.setupOpts.keymaps.change_line) - ]; + keys = + [ + (mkLznKey ["i"] cfg.setupOpts.keymaps.insert) + (mkLznKey ["i"] cfg.setupOpts.keymaps.insert_line) + (mkLznKey ["x"] cfg.setupOpts.keymaps.visual) + (mkLznKey ["x"] cfg.setupOpts.keymaps.visual_line) + (mkLznKey ["n"] cfg.setupOpts.keymaps.normal) + (mkLznKey ["n"] cfg.setupOpts.keymaps.normal_cur) + (mkLznKey ["n"] cfg.setupOpts.keymaps.normal_line) + (mkLznKey ["n"] cfg.setupOpts.keymaps.normal_cur_line) + (mkLznKey ["n"] cfg.setupOpts.keymaps.delete) + (mkLznKey ["n"] cfg.setupOpts.keymaps.change) + (mkLznKey ["n"] cfg.setupOpts.keymaps.change_line) + ] + ++ map (mkLznKey ["n" "i" "v"]) [ + "(nvim-surround-insert)" + "(nvim-surround-insert-line)" + "(nvim-surround-normal)" + "(nvim-surround-normal-cur)" + "(nvim-surround-normal-line)" + "(nvim-surround-normal-cur-line)" + "(nvim-surround-visual)" + "(nvim-surround-visual-line)" + "(nvim-surround-delete)" + "(nvim-surround-change)" + "(nvim-surround-change-line)" + ]; }; }; };