local M = {} function M.commit() local commit = vim.fn.expand('') -- XXX: can we do better? vim.cmd.DiffviewOpen(commit .. '^!') end function M.log() local bufnr = vim.api.nvim_create_buf(true, true) assert(bufnr ~= 0, 'Failed to create buffer') vim.bo[bufnr].bufhidden = 'wipe' vim.bo[bufnr].modifiable = true vim.api.nvim_buf_set_lines(bufnr, 0, -1, true, content) vim.bo[bufnr].modifiable = false vim.keymap.set('n', 'q', 'quit!', { silent = true, buffer = bufnr }) vim.keymap.set('n', 'K', M.commit, { silent = true, buffer = bufnr }) vim.api.nvim_win_set_buf(0, bufnr) end return M