return { { "sindrets/diffview.nvim", dependencies = { { "nvim-lua/plenary.nvim" }, { "nvim-tree/nvim-web-devicons" }, }, lazy = false, config = function() -- vim.opt.fillchars = "diff:╱" vim.opt.fillchars = "diff:░" require("diffview").setup({ enhanced_diff_hl = true, -- See ':h diffview-config-enhanced_diff_hl' }) end, keys = { -- use [c and [c to navigate diffs (vim built in), see :h jumpto-diffs -- use ]x and [x to navigate conflicts { "gdc", ":DiffviewOpen origin/main...HEAD", desc = "Compare commits" }, { "gdd", ":DiffviewClose", desc = "Close Diffview tab" }, { "gdh", ":DiffviewFileHistory %", desc = "File history" }, { "gdH", ":DiffviewFileHistory", desc = "Repo history" }, { "gdm", ":DiffviewOpen", desc = "Solve merge conflicts" }, { "gdo", ":DiffviewOpen main", desc = "DiffviewOpen" }, { "gdp", ":DiffviewOpen origin/main...HEAD --imply-local", desc = "Review current PR" }, { "gdP", ":DiffviewFileHistory --range=origin/main...HEAD --right-only --no-merges", desc = "Review current PR (per commit)", }, }, }, { "f-person/git-blame.nvim", keys = { -- toggle needs to be called twice; https://github.com/f-person/git-blame.nvim/issues/16 { "gbe", ":GitBlameEnable", desc = "Blame line (enable)" }, { "gbd", ":GitBlameDisable", desc = "Blame line (disable)" }, { "gbs", ":GitBlameCopySHA", desc = "Copy SHA" }, { "gbc", ":GitBlameCopyCommitURL", desc = "Copy commit URL" }, { "gbf", ":GitBlameCopyFileURL", desc = "Copy file URL" }, }, }, { "tpope/vim-fugitive", }, { "topaxi/gh-actions.nvim", dependencies = { "nvim-lua/plenary.nvim", "MunifTanjim/nui.nvim" }, build = "make", cmd = "GhActions", keys = { { "ga", "GhActions", desc = "Open Github Actions" }, }, -- optional, you can also install and use `yq` instead. config = function(_, opts) require("gh-actions").setup(opts) end, opts = {}, }, { "NeogitOrg/neogit", dependencies = { "nvim-lua/plenary.nvim", -- required "nvim-telescope/telescope.nvim", -- optional "sindrets/diffview.nvim", -- optional "ibhagwan/fzf-lua", -- optional }, config = true, }, }