-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgit.lua
More file actions
48 lines (45 loc) · 1.75 KB
/
Copy pathgit.lua
File metadata and controls
48 lines (45 loc) · 1.75 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
return {
{
"lewis6991/gitsigns.nvim",
-- extend NvChad's opts (keeps its signs + base46 highlights) with keymaps
opts = function(_, opts)
opts.on_attach = function(bufnr)
local gs = require "gitsigns"
local function bmap(mode, l, r, desc)
vim.keymap.set(mode, l, r, { buffer = bufnr, desc = desc })
end
bmap("n", "]h", function()
gs.nav_hunk "next"
end, "Next hunk")
bmap("n", "[h", function()
gs.nav_hunk "prev"
end, "Prev hunk")
bmap({ "n", "v" }, "<leader>ghs", "<cmd>Gitsigns stage_hunk<CR>", "Stage hunk")
bmap({ "n", "v" }, "<leader>ghr", "<cmd>Gitsigns reset_hunk<CR>", "Reset hunk")
bmap("n", "<leader>ghS", gs.stage_buffer, "Stage buffer")
bmap("n", "<leader>ghR", gs.reset_buffer, "Reset buffer")
bmap("n", "<leader>ghp", gs.preview_hunk_inline, "Preview hunk inline")
bmap("n", "<leader>gb", function()
gs.blame_line()
end, "Blame line")
bmap("n", "<leader>ghb", function()
gs.blame_line { full = true }
end, "Blame line (full)")
bmap("n", "<leader>ghd", gs.diffthis, "Diff this")
bmap({ "o", "x" }, "ih", gs.select_hunk, "Select hunk")
end
return opts
end,
},
{
"sindrets/diffview.nvim",
cmd = { "DiffviewOpen", "DiffviewClose", "DiffviewFileHistory" },
keys = {
{ "<leader>gd", "<cmd>DiffviewOpen<CR>", desc = "Diffview" },
{ "<leader>gf", "<cmd>DiffviewFileHistory %<CR>", desc = "File history (current file)" },
{ "<leader>gF", "<cmd>DiffviewFileHistory<CR>", desc = "File history (repo)" },
},
},
-- lazygit needs no plugin: <leader>gg opens it in an NvChad floating term
-- (see lua/mappings.lua)
}