diff --git a/lua/plugins/gitsigns.lua b/lua/plugins/gitsigns.lua index bb17998..414459a 100644 --- a/lua/plugins/gitsigns.lua +++ b/lua/plugins/gitsigns.lua @@ -6,7 +6,11 @@ local function setup() local gs = package.loaded.gitsigns vim.keymap.set("n", "gv", gs.select_hunk, { buffer = bufnr, }) vim.keymap.set("n", "gs", gs.stage_hunk, { buffer = bufnr, }) - vim.keymap.set("n", "gu", gs.undo_stage_hunk, + vim.keymap.set("x", "gs", function () + gs.stage_hunk({ vim.fn.line("."), vim.fn.line("v"), }) + end, + { buffer = bufnr, }) + vim.keymap.set({ "n", "x", }, "gu", gs.undo_stage_hunk, { buffer = bufnr, }) vim.keymap.set("n", "gr", gs.reset_hunk, { buffer = bufnr, }) vim.keymap.set( @@ -24,6 +28,22 @@ local function setup() gs.blame_line { full = true, ignore_whitespace = true, } end, { buffer = bufnr, }) + vim.keymap.set({ "n", "x", }, "]g", function () + gs.next_hunk({ + wrap = true, + navigation_message = true, + foldopen = true, + preview = true, + }) + end) + vim.keymap.set({ "n", "x", }, "[g", function () + gs.prev_hunk({ + wrap = true, + navigation_message = true, + foldopen = true, + preview = true, + }) + end) end, signs = { untracked = { text = "│", },