36 lines
1.4 KiB
Lua
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" } },
|
||
},
|
||
},
|
||
},
|
||
},
|
||
}
|