diff options
| author | Robert Günzler <r@gnzler.io> | 2026-09-27 17:38:39 +0200 |
|---|---|---|
| committer | Robert Günzler <r@gnzler.io> | 2026-09-27 17:38:39 +0200 |
| commit | 0860db73ae6fd9a6f6347219d820bf026a6b8b91 (patch) | |
| tree | 11318c3670d1c32c5aa0bf404c22fba3bf63fc53 /.config/nvim/lua/plugins/diff.lua | |
| parent | 4e34cbf9673aeaba252e01df554a0d204e83c5e2 (diff) | |
| download | dotfiles-0860db73ae6fd9a6f6347219d820bf026a6b8b91.tar.gz | |
Automated-commit-by: dots Signed-off-by: Robert Günzler <r@gnzler.io>
Diffstat (limited to '.config/nvim/lua/plugins/diff.lua')
| -rw-r--r-- | .config/nvim/lua/plugins/diff.lua | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/.config/nvim/lua/plugins/diff.lua b/.config/nvim/lua/plugins/diff.lua new file mode 100644 index 0000000..d758522 --- /dev/null +++ b/.config/nvim/lua/plugins/diff.lua @@ -0,0 +1,47 @@ +return { + { + enabled = true, + 'https://github.com/sindrets/diffview.nvim', + cmd = { + 'DiffviewOpen', + 'DiffviewFileHistory', + }, + init = function() + vim.keymap.set( + 'n', + '<leader>g-', + vim.cmd.DiffviewFileHistory, + { desc = 'DiffviewFileHistory' } + ) + + vim.api.nvim_create_autocmd('Filetype', { + pattern = { 'git', 'gitcommit', 'gitrebase' }, + callback = function() + vim.keymap.set('n', 'K', function() + vim.cmd.DiffviewOpen(vim.fn.expand('<cword>') .. '^!') + end, { buffer = 0, desc = 'DiffviewOpen' }) + end, + }) + end, + config = function() + vim.api.nvim_create_autocmd('User', { + pattern = { 'DiffviewViewEnter' }, + callback = function() + vim.keymap.set('n', 'q', '<cmd>DiffviewClose<cr>', { buffer = 0 }) + vim.keymap.set( + 'n', + '<a-j>', + require('diffview.actions').select_next_entry, + { buffer = 0 } + ) + vim.keymap.set( + 'n', + '<a-k>', + require('diffview.actions').select_prev_entry, + { buffer = 0 } + ) + end, + }) + end, + }, +} |