Files
dotfiles/nvim/lua/plugins/diffview.lua
T

36 lines
1.4 KiB
Lua

-- ============================================================================
-- Git diff 视图 (diffview)
-- 仓库级 diff 总览 + 提交历史对比,补充 gitsigns 的行内能力
-- ============================================================================
return {
{
"sindrets/diffview.nvim",
cmd = "DiffviewOpen",
keys = {
-- 只保留 3 个核心键位:打开/关闭 diff 视图、查看历史
{ "<leader>go", "<cmd>DiffviewOpen<cr>", desc = "查看改动" },
{ "<leader>gq", "<cmd>DiffviewClose<cr>", desc = "关闭 diff" },
{ "<leader>gl", "<cmd>DiffviewFileHistory %<cr>", desc = "文件历史" },
},
opts = {
file_panel = {
listing_style = "tree",
tree_options = {
flatten_dirs = true,
folder_statuses = "only_folded",
},
},
keymaps = {
view = {
-- 覆盖全局 <leader>q:在 diffview 里关闭整个 diffview,而非单个窗口
{ "n", "<leader>q", "<cmd>DiffviewClose<cr>", { desc = "关闭 diffview" } },
},
file_panel = {
{ "n", "<leader>q", "<cmd>DiffviewClose<cr>", { desc = "关闭 diffview" } },
},
},
},
},
}