return { { "sindrets/diffview.nvim", opts = {}, vim.keymap.set("n", "gd", "DiffviewOpen", { desc = "Git DiffviewOpen" }), vim.keymap.set("n", "gc", "DiffviewClose", { desc = "Git DiffviewClose" }), }, -- { -- "tanvirtin/vgit.nvim", -- dependencies = { "nvim-lua/plenary.nvim", "nvim-tree/nvim-web-devicons" }, -- -- Lazy loading on 'VimEnter' event is necessary. -- event = "VimEnter", -- config = function() -- require("vgit").setup( -- -- keymaps = { -- -- ["n "] = { -- -- function() -- -- require("vgit").hunk_up() -- -- end, -- -- desc = "VGit Hunk Up", -- -- }, -- -- ["n "] = { -- -- function() -- -- require("vgit").hunk_down() -- -- end, -- -- desc = "VGit Hunk Down", -- -- }, -- -- ["n gs"] = { -- -- function() -- -- require("vgit").buffer_hunk_stage() -- -- end, -- -- desc = "VGit Stage Hunk", -- -- }, -- -- ["n gr"] = { -- -- function() -- -- require("vgit").buffer_hunk_reset() -- -- end, -- -- desc = "VGit Reset Hunk", -- -- }, -- -- ["n gp"] = { -- -- function() -- -- require("vgit").buffer_hunk_preview() -- -- end, -- -- desc = "VGit Preview Hunk", -- -- }, -- -- ["n gb"] = { -- -- function() -- -- require("vgit").buffer_blame_preview() -- -- end, -- -- desc = "VGit Blame Preview", -- -- }, -- -- ["n gf"] = { -- -- function() -- -- require("vgit").buffer_diff_preview() -- -- end, -- -- desc = "VGit Diff Preview", -- -- }, -- -- ["n gh"] = { -- -- function() -- -- require("vgit").buffer_history_preview() -- -- end, -- -- desc = "VGit History Preview", -- -- }, -- -- ["n gu"] = { -- -- function() -- -- require("vgit").buffer_reset() -- -- end, -- -- desc = "VGit Reset Buffer", -- -- }, -- -- ["n gcm"] = { -- -- function() -- -- require("vgit").project_commit_preview() -- -- end, -- -- desc = "VGit Commit Preview", -- -- }, -- -- ["n gcc"] = { -- -- function() -- -- require("vgit").project_commits_preview() -- -- end, -- -- desc = "VGit Commits Preview", -- -- }, -- -- ["n gcl"] = { -- -- function() -- -- require("vgit").project_logs_preview() -- -- end, -- -- desc = "VGit Logs Preview", -- -- }, -- -- ["n gd"] = { -- -- function() -- -- require("vgit").project_diff_preview() -- -- end, -- -- desc = "VGit Project Diff", -- -- }, -- -- ["n gx"] = { -- -- function() -- -- require("vgit").toggle_diff_preference() -- -- end, -- -- desc = "VGit Toggle Diff Preference", -- -- }, -- -- }, -- ) -- end, -- -- vim.keymap.set("n", "", function() -- require("vgit").hunk_up() -- end, { desc = "VGit Hunk Up" }), -- -- vim.keymap.set("n", "", function() -- require("vgit").hunk_down() -- end, { desc = "VGit Hunk Down" }), -- -- vim.keymap.set("n", "gs", function() -- require("vgit").buffer_hunk_stage() -- end, { desc = "VGit Stage Hunk" }), -- -- vim.keymap.set("n", "gr", function() -- require("vgit").buffer_hunk_reset() -- end, { desc = "VGit Reset Hunk" }), -- -- vim.keymap.set("n", "gp", function() -- require("vgit").buffer_hunk_preview() -- end, { desc = "VGit Preview Hunk" }), -- -- vim.keymap.set("n", "gb", function() -- require("vgit").buffer_blame_preview() -- end, { desc = "VGit Blame Preview" }), -- -- vim.keymap.set("n", "gf", function() -- require("vgit").buffer_diff_preview() -- end, { desc = "VGit Diff Preview" }), -- -- vim.keymap.set("n", "gh", function() -- require("vgit").buffer_history_preview() -- end, { desc = "VGit History Preview" }), -- -- vim.keymap.set("n", "gu", function() -- require("vgit").buffer_reset() -- end, { desc = "VGit Reset Buffer" }), -- -- vim.keymap.set("n", "gcm", function() -- require("vgit").project_commit_preview() -- end, { desc = "VGit Commit Preview" }), -- -- vim.keymap.set("n", "gcc", function() -- require("vgit").project_commits_preview() -- end, { desc = "VGit Commits Preview" }), -- -- vim.keymap.set("n", "gcl", function() -- require("vgit").project_logs_preview() -- end, { desc = "VGit Logs Preview" }), -- -- vim.keymap.set("n", "gd", function() -- require("vgit").project_diff_preview() -- end, { desc = "VGit Project Diff" }), -- -- vim.keymap.set("n", "gx", function() -- require("vgit").toggle_diff_preference() -- end, { desc = "VGit Toggle Diff Preference" }), -- }, { "lewis6991/gitsigns.nvim", opts = { signs = { add = { text = "┃" }, change = { text = "┃" }, delete = { text = "_" }, topdelete = { text = "‾" }, changedelete = { text = "~" }, untracked = { text = "┆" }, }, signs_staged = { add = { text = "┃" }, change = { text = "┃" }, delete = { text = "_" }, topdelete = { text = "‾" }, changedelete = { text = "~" }, untracked = { text = "┆" }, }, signs_staged_enable = true, signcolumn = true, -- Toggle with `:Gitsigns toggle_signs` numhl = true, -- Toggle with `:Gitsigns toggle_numhl` linehl = false, -- Toggle with `:Gitsigns toggle_linehl` word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff` watch_gitdir = { follow_files = true, }, auto_attach = true, attach_to_untracked = false, current_line_blame = true, -- Toggle with `:Gitsigns toggle_current_line_blame` current_line_blame_opts = { virt_text = true, virt_text_pos = "eol", -- 'eol' | 'overlay' | 'right_align' delay = 300, ignore_whitespace = true, virt_text_priority = 100, }, current_line_blame_formatter = ", - ", sign_priority = 6, update_debounce = 100, status_formatter = nil, -- Use default max_file_length = 40000, -- Disable if file is longer than this (in lines) preview_config = { -- Options passed to nvim_open_win border = "single", style = "minimal", relative = "cursor", row = 0, col = 1, }, vim.keymap.set("n", "gr", "Gitsigns refresh", { desc = "Gitsigns Refresh" }), vim.keymap.set("n", "gs", "Gitsigns toggle_signs", { desc = "Gitsigns ToggleSigns" }), vim.keymap.set("n", "gl", "Gitsigns toggle_linehl", { desc = "Gitsigns ToggleLine" }), vim.keymap.set("n", "gw", "Gitsigns toggle_word_diff", { desc = "Gitsigns ToggleWord" }), }, }, }