From 37253c8a7b24212a71d5e028e30ebee79bbcdda3 Mon Sep 17 00:00:00 2001 From: Jonny Barnes Date: Fri, 14 Aug 2026 09:53:21 +0100 Subject: [PATCH] Add diffview.nvim for reviewing diffs and file history Installed via vim.pack, matching how the other plugins here are managed. Adds a new g "diff" group: gd opens a Diffview against the index, gc closes it, gh shows history for the current file, gH for the branch. Verified headlessly: config/plugins loads clean, :DiffviewOpen is registered, and opening/closing a Diffview against this repo works with no errors. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_013t7aQbc4EyYtab1crvSFTd --- neovim/config/plugins/diffview.lua | 12 ++++++++++++ neovim/config/plugins/init.lua | 1 + neovim/config/plugins/which-key.lua | 1 + neovim/nvim-pack-lock.json | 4 ++++ 4 files changed, 18 insertions(+) create mode 100644 neovim/config/plugins/diffview.lua diff --git a/neovim/config/plugins/diffview.lua b/neovim/config/plugins/diffview.lua new file mode 100644 index 0000000..f9630bb --- /dev/null +++ b/neovim/config/plugins/diffview.lua @@ -0,0 +1,12 @@ +vim.pack.add({ 'https://github.com/sindrets/diffview.nvim' }) + +require('diffview').setup() + +local function map(lhs, rhs, desc) + vim.keymap.set('n', lhs, rhs, { desc = desc }) +end + +map('gd', 'DiffviewOpen', 'Diff against index') +map('gc', 'DiffviewClose', 'Close diff view') +map('gh', 'DiffviewFileHistory %', 'File history') +map('gH', 'DiffviewFileHistory', 'Branch history') diff --git a/neovim/config/plugins/init.lua b/neovim/config/plugins/init.lua index 708bbb7..fc2c8eb 100644 --- a/neovim/config/plugins/init.lua +++ b/neovim/config/plugins/init.lua @@ -1,3 +1,4 @@ +require('config.plugins.diffview') require('config.plugins.fzf-lua') require('config.plugins.gitsigns') require('config.plugins.nvim-tree') diff --git a/neovim/config/plugins/which-key.lua b/neovim/config/plugins/which-key.lua index 634bd35..a663754 100644 --- a/neovim/config/plugins/which-key.lua +++ b/neovim/config/plugins/which-key.lua @@ -8,6 +8,7 @@ wk.setup() wk.add({ { 'd', group = 'diagnostics' }, { 'f', group = 'find' }, + { 'g', group = 'diff' }, { 'h', group = 'hunks' }, { 't', group = 'toggles' }, }) diff --git a/neovim/nvim-pack-lock.json b/neovim/nvim-pack-lock.json index 02bc8b6..335a0f8 100644 --- a/neovim/nvim-pack-lock.json +++ b/neovim/nvim-pack-lock.json @@ -1,5 +1,9 @@ { "plugins": { + "diffview.nvim": { + "rev": "4516612fe98ff56ae0415a259ff6361a89419b0a", + "src": "https://github.com/sindrets/diffview.nvim" + }, "fzf-lua": { "rev": "8671012a7b2a1648595952c655039d51fb301c14", "src": "https://github.com/ibhagwan/fzf-lua"