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
|
--- @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" },
|
||||||
|
{ "<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,
|
end,
|
||||||
desc = "Previous hunk",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"]h",
|
|
||||||
function()
|
|
||||||
require("gitsigns").next_hunk()
|
|
||||||
end,
|
|
||||||
desc = "Next hunk",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue