Neovim: add keybinds for gitsigns
This commit is contained in:
parent
e924f75bd9
commit
a57a9f10e9
1 changed files with 32 additions and 18 deletions
|
@ -1,22 +1,36 @@
|
|||
local k = function(lhs, rhs, opts)
|
||||
vim.keymap.set("", lhs, rhs, opts)
|
||||
end
|
||||
|
||||
--- @type LazyPluginSpec
|
||||
return {
|
||||
"lewis6991/gitsigns.nvim",
|
||||
config = true,
|
||||
lazy = false,
|
||||
keys = {
|
||||
{
|
||||
"[h",
|
||||
function()
|
||||
require("gitsigns").prev_hunk()
|
||||
end,
|
||||
desc = "Previous hunk",
|
||||
},
|
||||
{
|
||||
"]h",
|
||||
function()
|
||||
require("gitsigns").next_hunk()
|
||||
end,
|
||||
desc = "Next hunk",
|
||||
},
|
||||
},
|
||||
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
|
||||
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,
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue