diff --git a/flake.lock b/flake.lock index ab799e3..0da84ee 100644 --- a/flake.lock +++ b/flake.lock @@ -551,6 +551,7 @@ "nixpkgs" ], "plugins-beancount-nvim": "plugins-beancount-nvim", + "plugins-diffview-nvim": "plugins-diffview-nvim", "plugins-nvimkit-nvim": "plugins-nvimkit-nvim", "plugins-shipwright-nvim": "plugins-shipwright-nvim", "plugins-tailwind-fold-nvim": "plugins-tailwind-fold-nvim" @@ -581,6 +582,22 @@ "type": "github" } }, + "plugins-diffview-nvim": { + "flake": false, + "locked": { + "lastModified": 1787574526, + "narHash": "sha256-twlMCrNKlkuoT3aQtZHVAZNw5zv1Y9McFYBt8+KgHZ4=", + "owner": "dlyongemallo", + "repo": "diffview.nvim", + "rev": "30afab604a0abe02dfd19e6fbb9153fd26fd2eb3", + "type": "github" + }, + "original": { + "owner": "dlyongemallo", + "repo": "diffview.nvim", + "type": "github" + } + }, "plugins-nvimkit-nvim": { "flake": false, "locked": { diff --git a/home/modules/nvim/config/after/plugin/diffview.nvim.lua b/home/modules/nvim/config/after/plugin/diffview.nvim.lua new file mode 100644 index 0000000..f03ac5d --- /dev/null +++ b/home/modules/nvim/config/after/plugin/diffview.nvim.lua @@ -0,0 +1,13 @@ +require("diffview").setup({ + keymaps = { + file_panel = { + ["s"] = false, -- would conflict with "splits & navigation" keymaps + }, + }, +}) + +local map = vim.keymap.set + +map("n", "gh", "DiffviewFileHistory", { desc = "git history (repo)" }) +map("n", "gf", "DiffviewFileHistory %", { desc = "git history (file)" }) +map("n", "gd", "DiffviewOpen", { desc = "git diff" }) diff --git a/home/modules/nvim/config/flake.lock b/home/modules/nvim/config/flake.lock index 6395a38..6945201 100644 --- a/home/modules/nvim/config/flake.lock +++ b/home/modules/nvim/config/flake.lock @@ -47,6 +47,22 @@ "type": "github" } }, + "plugins-diffview-nvim": { + "flake": false, + "locked": { + "lastModified": 1787574526, + "narHash": "sha256-twlMCrNKlkuoT3aQtZHVAZNw5zv1Y9McFYBt8+KgHZ4=", + "owner": "dlyongemallo", + "repo": "diffview.nvim", + "rev": "30afab604a0abe02dfd19e6fbb9153fd26fd2eb3", + "type": "github" + }, + "original": { + "owner": "dlyongemallo", + "repo": "diffview.nvim", + "type": "github" + } + }, "plugins-nvimkit-nvim": { "flake": false, "locked": { @@ -100,6 +116,7 @@ "nixCats": "nixCats", "nixpkgs": "nixpkgs", "plugins-beancount-nvim": "plugins-beancount-nvim", + "plugins-diffview-nvim": "plugins-diffview-nvim", "plugins-nvimkit-nvim": "plugins-nvimkit-nvim", "plugins-shipwright-nvim": "plugins-shipwright-nvim", "plugins-tailwind-fold-nvim": "plugins-tailwind-fold-nvim" diff --git a/home/modules/nvim/config/flake.nix b/home/modules/nvim/config/flake.nix index 6046d8c..c7a8a06 100644 --- a/home/modules/nvim/config/flake.nix +++ b/home/modules/nvim/config/flake.nix @@ -23,6 +23,10 @@ url = "github:jamesblckwell/nvimkit.nvim"; flake = false; }; + plugins-diffview-nvim = { + url = "github:dlyongemallo/diffview.nvim"; + flake = false; + }; }; @@ -170,6 +174,7 @@ treesj sniprun gitsigns-nvim + pkgs.neovimPlugins.diffview-nvim nvim-highlight-colors pkgs.neovimPlugins.tailwind-fold-nvim auto-session