From: Lukas Hägele Date: Sun, 11 Oct 2026 07:13:23 +0000 (+0200) Subject: add toggle shortcut for diffview X-Git-Url: https://git.lhaegele.de/?a=commitdiff_plain;h=f58acc34329ae435bf6099671ae5c6f9e1c26bc2;p=dotfiles_nvim.git add toggle shortcut for diffview --- diff --git a/lua/config/plugins/diffview-plus.lua b/lua/config/plugins/diffview-plus.lua index b1398d5..8e7f567 100644 --- a/lua/config/plugins/diffview-plus.lua +++ b/lua/config/plugins/diffview-plus.lua @@ -1,12 +1,37 @@ return { "dlyongemallo/diffview-plus.nvim", version = "*", - -- optional: lazy-load on command - -- cmd = { - -- "DiffviewOpen", - -- "DiffviewToggle", - -- "DiffviewFileHistory", - -- "DiffviewDiffFiles", - -- "DiffviewLog", - -- }, + config = function() + require("diffview").setup({ + enhanced_diff_hl = true, + }) + + -- Toggle diffview open/close + vim.keymap.set('n', 'dv', 'DiffviewToggle', { desc = 'Toggle Diffview' }) + +--[[ + -- Diff working directory + vim.keymap.set('n', 'do', 'DiffviewOpen', { desc = 'Diffview open' }) + vim.keymap.set('n', 'dc', 'DiffviewClose', { desc = 'Diffview close' }) + + -- File history + vim.keymap.set('n', 'dh', 'DiffviewFileHistory %', { desc = 'File history (current file)' }) + vim.keymap.set('n', 'dH', 'DiffviewFileHistory', { desc = 'File history (repo)' }) + + -- Visual mode: history for selection + vim.keymap.set('v', 'dh', "'<,'>DiffviewFileHistory --follow", { desc = 'Range history' }) + + -- Single line history + vim.keymap.set('n', 'dl', '.DiffviewFileHistory --follow', { desc = 'Line history' }) + + -- Diff against main/master branch (useful before merging) + vim.keymap.set('n', 'dm', function() + -- Try main first, fall back to master + local result = vim.fn.systemlist({ 'git', 'rev-parse', '--verify', 'main' }) + local ok = vim.v.shell_error == 0 and result[1] ~= nil and result[1] ~= '' + local branch = ok and 'main' or 'master' + vim.cmd('DiffviewOpen ' .. branch) + end, { desc = 'Diff against main/master' }) +---]] + end }