return { { "tpope/vim-fugitive", }, { "lewis6991/gitsigns.nvim", tag = "v1.0.2", config = function() require("gitsigns").setup({ current_line_blame = true, }) -- Configure Git vim.keymap.set("n", "gd", ":Gitsigns preview_hunk", { desc = "Git Diff" }) vim.keymap.set("n", "gb", ":Gitsigns toggle_current_line_blame", { desc = "Git Blame" }) vim.keymap.set("n", "gs", ":Gitsigns stage_hunk", { desc = "Git Stage Hunk" }) vim.keymap.set("n", "gr", ":Gitsigns reset_hunk", { desc = "Git Reset Hunk" }) vim.keymap.set("n", "gn", ":Gitsigns next_hunk", { desc = "Git Next Hunk" }) vim.keymap.set("n", "gp", ":Gitsigns prev_hunk", { desc = "Git Previous Hunk" }) end, }, { "kdheepak/lazygit.nvim", lazy = true, cmd = { "LazyGit", "LazyGitConfig", "LazyGitCurrentFile", "LazyGitFilter", "LazyGitFilterCurrentFile", }, -- optional for floating window border decoration dependencies = { "nvim-lua/plenary.nvim", }, -- setting the keybinding for LazyGit with 'keys' is recommended in -- order to load the plugin when the command is run for the first time keys = { { "gv", "LazyGit", desc = "LazyGit View" }, }, }, }