return { { "lewis6991/gitsigns.nvim", event = { "BufReadPre", "BufNewFile" }, opts = { on_attach = function(bufnr) local gs = package.loaded.gitsigns local map = function(mode, l, r, desc) vim.keymap.set(mode, l, r, { buffer = bufnr, desc = desc }) end map("n", "]h", gs.next_hunk, "Next hunk") map("n", "[h", gs.prev_hunk, "Previous hunk") map("n", "hs", gs.stage_hunk, "Stage hunk") map("n", "hr", gs.reset_hunk, "Reset hunk") map("n", "hp", gs.preview_hunk, "Preview hunk") map("n", "hb", function() gs.blame_line({ full = true }) end, "Blame line") end, }, }, { "kdheepak/lazygit.nvim", dependencies = { "nvim-lua/plenary.nvim" }, keys = { { "gg", "LazyGit", desc = "LazyGit" }, }, }, }