aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMosder <xmosder12@gmail.com>2026-07-28 11:06:20 +0200
committerMosder <xmosder12@gmail.com>2026-07-28 11:06:20 +0200
commit664f1b5c31bf49619fb62ddea66cda5598c445fd (patch)
tree1092ecbd230ba6f4ca567b3492ba68ff58a58e5b
parent4a9d9ac589f7ef41eb869dffc3d1b499bd8c653c (diff)
added diffview.nvim plugin and some nice keybinds to it
-rw-r--r--common/home/mosder/.config/nvim/init.lua3
-rw-r--r--common/home/mosder/.config/nvim/lua/custom/plugins/diffview.lua26
2 files changed, 28 insertions, 1 deletions
diff --git a/common/home/mosder/.config/nvim/init.lua b/common/home/mosder/.config/nvim/init.lua
index 296b9b1..1c5d2dc 100644
--- a/common/home/mosder/.config/nvim/init.lua
+++ b/common/home/mosder/.config/nvim/init.lua
@@ -293,6 +293,7 @@ do
{ '<leader>t', group = '[T]oggle' },
{ '<leader>h', group = 'Git [H]unk', mode = { 'n', 'v' } }, -- Enable gitsigns recommended keymaps first
{ 'gr', group = 'LSP Actions', mode = { 'n' } },
+ { '<leader>d', group = 'Git [D]iff', mode = { 'n', 'v' } },
},
}
@@ -931,7 +932,7 @@ do
-- NOTE: You can add your own plugins, configuration, etc from `lua/custom/plugins/*.lua`
--
-- Uncomment the following line and add your plugins to `lua/custom/plugins/*.lua` to get going.
- -- require 'custom.plugins'
+ require 'custom.plugins'
end
-- The line beneath this is called `modeline`. See `:help modeline`
diff --git a/common/home/mosder/.config/nvim/lua/custom/plugins/diffview.lua b/common/home/mosder/.config/nvim/lua/custom/plugins/diffview.lua
new file mode 100644
index 0000000..235aa94
--- /dev/null
+++ b/common/home/mosder/.config/nvim/lua/custom/plugins/diffview.lua
@@ -0,0 +1,26 @@
+-- View git commit diffs
+
+vim.pack.add { 'https://github.com/sindrets/diffview.nvim' }
+
+local diffview = require 'diffview'
+local actions = require 'diffview.actions'
+
+diffview.setup {
+ keymaps = {
+ file_panel = {
+ { 'n', 's', actions.toggle_stage_entry, { desc = '[S]tage file under cursor' } },
+ { 'n', 'j', actions.select_next_entry, { desc = 'Go to next file entry' } },
+ { 'n', 'k', actions.select_prev_entry, { desc = 'Go to previous file entry' } },
+ { 'n', 'q', diffview.close, { desc = '[Q]uit view' } },
+ },
+ file_history_panel = {
+ { 'n', 's', actions.open_in_diffview, { desc = '[S]elect commit for diffview' } },
+ { 'n', 'q', diffview.close, { desc = '[Q]uit view' } },
+ },
+ },
+}
+
+-- keymaps
+vim.keymap.set('n', '<leader>dc', diffview.open, { desc = '[D]iff [C]urrent' })
+vim.keymap.set('n', '<leader>dh', diffview.file_history, { desc = '[D]iff [H]istory' })
+vim.keymap.set('n', '<leader>dq', diffview.close, { desc = '[D]iff [Q]uit' })