From 5cfbfa064c4d4997aa4dbc19e8cf2f9488fc3e28 Mon Sep 17 00:00:00 2001 From: n3wborn Date: Wed, 1 Jul 2026 01:14:08 +0200 Subject: [PATCH] feat(plugins): add differ.nvim --- lua/plugins/differ.lua | 44 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 lua/plugins/differ.lua diff --git a/lua/plugins/differ.lua b/lua/plugins/differ.lua new file mode 100644 index 0000000..d3e79c0 --- /dev/null +++ b/lua/plugins/differ.lua @@ -0,0 +1,44 @@ +---@type LazyPluginSpec +return { + 'undont/differ.nvim', + build = 'make go-build', + cmd = { 'Differ' }, + keys = { + -- local diff / history + { 'do', 'Differ HEAD', desc = 'Diff: open (vs index)' }, + { 'dc', 'Differ close', desc = 'Diff: close' }, + { 'dt', 'Differ base', desc = 'Diff: branch total (vs base)' }, + { 'de', 'Differ gofile', desc = 'Diff: open the real file' }, + { 'dd', 'Differ panel', desc = 'Diff: panel toggle' }, + { 'dh', 'Differ log', desc = 'Diff: file history' }, + { 'dp', 'Differ log origin/HEAD...HEAD', desc = 'Diff: PR range (local, no API)' }, + { 'dl', 'Differ layout', desc = 'Diff: toggle layout' }, + -- pr review (sidecar + github) + { 'pl', 'Differ pr list', desc = 'PR: list' }, + { + 'po', + function() + vim.ui.input({ prompt = 'PR number: ' }, function(input) + if input and input ~= '' then + vim.cmd('Differ pr ' .. input) + end + end) + end, + desc = 'PR: open by number', + }, + { 'pr', 'Differ pr review', desc = 'PR: review start' }, + { 'pe', 'Differ pr review resume', desc = 'PR: review resume' }, + { 'pm', 'Differ pr review submit', desc = 'PR: review submit' }, + { 'pd', 'Differ pr review discard', desc = 'PR: review discard' }, + { 'psm', 'Differ pr merge squash', desc = 'PR: squash merge' }, + { 'pk', 'Differ pr checks', desc = 'PR: checks' }, + { 'pO', 'Differ pr checkout', desc = 'PR: checkout' }, + { 'pR', 'Differ pr ready', desc = 'PR: mark ready' }, + { 'pD', 'Differ pr draft', desc = 'PR: mark draft' }, + { 'pX', 'Differ pr close', desc = 'PR: close' }, + { 'pb', 'Differ pr browser', desc = 'PR: open in browser' }, + { 'py', 'Differ pr url', desc = 'PR: yank URL' }, + { 'pq', 'Differ close', desc = 'PR: quit' }, + }, + opts = {}, +}