diff --git a/configuration.nix b/configuration.nix index 2602a811..13d3cf5d 100644 --- a/configuration.nix +++ b/configuration.nix @@ -205,6 +205,7 @@ isMaximal: { smart-splits.enable = isMaximal; undotree.enable = isMaximal; nvim-biscuits.enable = isMaximal; + grug-far-nvim.enable = isMaximal; motion = { hop.enable = true; diff --git a/docs/manual/release-notes/rl-0.9.md b/docs/manual/release-notes/rl-0.9.md index 42a5c2f4..e5687d1a 100644 --- a/docs/manual/release-notes/rl-0.9.md +++ b/docs/manual/release-notes/rl-0.9.md @@ -191,4 +191,9 @@ https://github.com/gorbit99/codewindow.nvim - Fix non-functional `vim.keymaps.*.noremap`. Now, setting it to false is equivalent to `:lua vim.keymap.set(..., { remap = true })` +[kazimazi](https://github.com/kazimazi): + +- Added [`grug-far.nvim`](https://github.com/MagicDuck/grug-far.nvim) the find + and replace tool for neovim. + diff --git a/modules/plugins/utility/default.nix b/modules/plugins/utility/default.nix index 2e00e270..ab116483 100644 --- a/modules/plugins/utility/default.nix +++ b/modules/plugins/utility/default.nix @@ -9,6 +9,7 @@ ./harpoon ./icon-picker ./images + ./grug-far-nvim ./leetcode-nvim ./mkdir ./motion diff --git a/modules/plugins/utility/grug-far-nvim/config.nix b/modules/plugins/utility/grug-far-nvim/config.nix new file mode 100644 index 00000000..9859c7db --- /dev/null +++ b/modules/plugins/utility/grug-far-nvim/config.nix @@ -0,0 +1,21 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + + cfg = config.vim.utility.grug-far-nvim; +in { + config = { + vim.lazy.plugins.grug-far-nvim = mkIf cfg.enable { + package = "grug-far-nvim"; + cmd = [ + "GrugFar" + "GrugFarWithin" + ]; + setupModule = "grug-far"; + setupOpts = cfg.setupOpts; + }; + }; +} diff --git a/modules/plugins/utility/grug-far-nvim/default.nix b/modules/plugins/utility/grug-far-nvim/default.nix new file mode 100644 index 00000000..80a10a27 --- /dev/null +++ b/modules/plugins/utility/grug-far-nvim/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./grug-far-nvim.nix + ./config.nix + ]; +} diff --git a/modules/plugins/utility/grug-far-nvim/grug-far-nvim.nix b/modules/plugins/utility/grug-far-nvim/grug-far-nvim.nix new file mode 100644 index 00000000..4795832e --- /dev/null +++ b/modules/plugins/utility/grug-far-nvim/grug-far-nvim.nix @@ -0,0 +1,9 @@ +{lib, ...}: let + inherit (lib.options) mkEnableOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.utility.grug-far-nvim = { + enable = mkEnableOption "grug-far"; + setupOpts = mkPluginSetupOption "grug-far" {}; + }; +} diff --git a/npins/sources.json b/npins/sources.json index a5aa2d88..d1e16e61 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -643,6 +643,19 @@ "url": "https://github.com/ellisonleao/glow.nvim/archive/5d5954b2f22e109d4a6eba8b2618c5b96e4ee7a2.tar.gz", "hash": "sha256-CvBcmVWBgI+m+PS7p7PmsiPtTEfqx2kpIzz4mImONIc=" }, + "grug-far-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "MagicDuck", + "repo": "grug-far.nvim" + }, + "branch": "main", + "submodules": false, + "revision": "275dbedc96e61a6b8d1dfb28ba51586ddd233dcf", + "url": "https://github.com/MagicDuck/grug-far.nvim/archive/275dbedc96e61a6b8d1dfb28ba51586ddd233dcf.tar.gz", + "hash": "sha256-qn1BTNCX0Sm158Lv5JfHThqlJX9ualCIlc+RCjWa+t8=" + }, "gruvbox": { "type": "Git", "repository": {