return { { "lewis6991/gitsigns.nvim", event = "VeryLazy", opts = { on_attach = function(_bufnr) local gs = package.loaded.gitsigns -- Navigation vim.keymap.set("n", "]c", function() if vim.wo.diff then return "]c" end vim.schedule(function() gs.next_hunk() end) return "" end, { expr = true }) vim.keymap.set("n", "[c", function() if vim.wo.diff then return "[c" end vim.schedule(function() gs.prev_hunk() end) return "" end, { expr = true }) end, } }, { "f-person/git-blame.nvim", lazy = true, keys = { { "oc", ":GitBlameOpenCommitURL", desc = "Open Commit URL" }, { "tb", ":GitBlameToggle", desc = "Git blame toggle" }, }, opts = { enabled = false, }, }, { "NeogitOrg/neogit", dependencies = { "nvim-lua/plenary.nvim", "sindrets/diffview.nvim" }, lazy = true, cmd = { "Neogit" }, opts = { git_services = { ["azure.com"] = "https://dev.azure.com/${owner}/_git/${repository}/pullrequestcreate?sourceRef=${branch_name}&targetRef=${target}", ["bitbucket.org"] = "https://bitbucket.org/${owner}/${repository}/pull-requests/new?source=${branch_name}&t=1", ["github.com"] = "https://github.com/${owner}/${repository}/compare/${branch_name}?expand=1", ["gitlab.com"] = "https://gitlab.com/${owner}/${repository}/merge_requests/new?merge_request[source_branch]=${branch_name}", ["codeberg.org"] = "https://codeberg.org/${owner}/${repository}/compare/${target}...${branch_name}", ["oolong.ludwig.dog"] = "https://oolong.ludwig.dog/${owner}/${repository}/compare/${target}...${branch_name}", }, } } }