Neovim: add keybinds for gitsigns

This commit is contained in:
Marko Korhonen 2024-07-18 11:34:11 +03:00
parent e924f75bd9
commit a57a9f10e9
Signed by: FunctionalHacker
GPG key ID: A7F78BCB859CD890

View file

@ -1,22 +1,36 @@
local k = function(lhs, rhs, opts)
vim.keymap.set("", lhs, rhs, opts)
end
--- @type LazyPluginSpec --- @type LazyPluginSpec
return { return {
"lewis6991/gitsigns.nvim", "lewis6991/gitsigns.nvim",
config = true, config = function()
lazy = false, local gs = require("gitsigns")
keys = { gs.setup()
{
"[h", -- Add groups for which-key
function() require("which-key").add({
require("gitsigns").prev_hunk() { "<leader>g", group = "Git" },
end, { "<leader>gr", group = "Reset" },
desc = "Previous hunk", { "<leader>ga", group = "Add" },
}, })
{
"]h", -- Keybinds
function() local opts
require("gitsigns").next_hunk()
end, -- Hunk navigation
desc = "Next hunk", k("[h", gs.prev_hunk, { desc = "Previous hunk" })
}, k("[h", gs.next_hunk, { desc = "Next hunk" })
},
-- Hunk actions
opts = { desc = "Hunk" }
k("<leader>grh", gs.reset_hunk, opts)
k("<leader>gah", gs.stage_hunk, opts)
-- Buffer actions
opts = { desc = "Buffer" }
k("<leader>gab", gs.stage_buffer, opts)
k("<leader>grb", gs.reset_buffer, opts)
end,
} }