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/mod/git.lua | |
| parent | 4e34cbf9673aeaba252e01df554a0d204e83c5e2 (diff) | |
| download | dotfiles-master.tar.gz | |
Automated-commit-by: dots Signed-off-by: Robert Günzler <r@gnzler.io>
Diffstat (limited to '')
| -rw-r--r-- | .config/nvim/lua/mod/git.lua | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/.config/nvim/lua/mod/git.lua b/.config/nvim/lua/mod/git.lua new file mode 100644 index 0000000..3e36e61 --- /dev/null +++ b/.config/nvim/lua/mod/git.lua @@ -0,0 +1,23 @@ +local M = {} + +function M.commit() + local commit = vim.fn.expand('<cword>') -- 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', '<cmd>quit!<cr>', { 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 |