local function commit_preview() local beforewin = vim.api.nvim_get_current_win() local commit = vim.api.nvim_get_current_line():match([[ ([0-9a-f]+) ]]) if not commit then return end require('internal.commit-preview').commit_preview(commit, function(bufnr, winid) -- keymaps: local close = function() pcall(vim.api.nvim_win_close, winid, true) pcall(vim.api.nvim_buf_delete, bufnr, { force = true }) end vim.keymap.set('n', 'q', close, { buffer = bufnr }) local goup = function() vim.api.nvim_set_current_win(beforewin) vim.cmd('normal k') vim.cmd('normal cp') end vim.keymap.set('n', '', goup, { buffer = bufnr }) vim.keymap.set('n', '', goup, { buffer = bufnr }) local godown = function() vim.api.nvim_set_current_win(beforewin) vim.cmd('normal j') vim.cmd('normal cp') end vim.keymap.set('n', '', godown, { buffer = bufnr }) vim.keymap.set('n', '', godown, { buffer = bufnr }) end) end vim.keymap.set('n', 'cp', commit_preview, { buffer = 0, desc = 'commit preview' }) vim.keymap.set('n', 'c', commit_preview, { buffer = 0, desc = 'commit preview' })