return { { enabled = true, 'https://github.com/sindrets/diffview.nvim', cmd = { 'DiffviewOpen', 'DiffviewFileHistory', }, init = function() vim.keymap.set( 'n', '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('') .. '^!') end, { buffer = 0, desc = 'DiffviewOpen' }) end, }) end, config = function() vim.api.nvim_create_autocmd('User', { pattern = { 'DiffviewViewEnter' }, callback = function() vim.keymap.set('n', 'q', 'DiffviewClose', { buffer = 0 }) vim.keymap.set( 'n', '', require('diffview.actions').select_next_entry, { buffer = 0 } ) vim.keymap.set( 'n', '', require('diffview.actions').select_prev_entry, { buffer = 0 } ) end, }) end, }, }