2024-08-08 11:47:17 +03:00
|
|
|
local k = vim.keymap.set
|
2024-07-18 11:34:11 +03:00
|
|
|
|
2024-07-13 15:49:55 +03:00
|
|
|
--- @type LazyPluginSpec
|
|
|
|
return {
|
|
|
|
"lewis6991/gitsigns.nvim",
|
2024-07-18 11:34:11 +03:00
|
|
|
config = function()
|
|
|
|
local gs = require("gitsigns")
|
|
|
|
gs.setup()
|
|
|
|
|
|
|
|
-- Add groups for which-key
|
|
|
|
require("which-key").add({
|
|
|
|
{ "<leader>g", group = "Git" },
|
|
|
|
{ "<leader>gr", group = "Reset" },
|
|
|
|
{ "<leader>ga", group = "Add" },
|
|
|
|
})
|
|
|
|
|
|
|
|
-- Keybinds
|
|
|
|
local opts
|
|
|
|
|
|
|
|
-- Hunk navigation
|
2024-08-08 11:47:17 +03:00
|
|
|
k("n", "[h", gs.prev_hunk, { desc = "Previous hunk" })
|
|
|
|
k("n", "]h", gs.next_hunk, { desc = "Next hunk" })
|
2024-07-18 11:34:11 +03:00
|
|
|
|
|
|
|
-- Hunk actions
|
|
|
|
opts = { desc = "Hunk" }
|
2024-08-08 11:47:17 +03:00
|
|
|
k("n", "<leader>grh", gs.reset_hunk, opts)
|
|
|
|
k("n", "<leader>gah", gs.stage_hunk, opts)
|
2024-07-18 11:34:11 +03:00
|
|
|
|
|
|
|
-- Buffer actions
|
|
|
|
opts = { desc = "Buffer" }
|
2024-08-08 11:47:17 +03:00
|
|
|
k("n", "<leader>gab", gs.stage_buffer, opts)
|
|
|
|
k("n", "<leader>grb", gs.reset_buffer, opts)
|
2024-07-18 11:34:11 +03:00
|
|
|
end,
|
2024-07-13 15:49:55 +03:00
|
|
|
}
|