---@type string|nil local prev_gitsigns_signcol = nil return { { 'tpope/vim-fugitive', cmd = { 'Git', 'G', 'Gread', 'Gwrite', 'Gdiffsplit', 'Gvdiffsplit' }, }, { 'barrettruth/diffs.nvim', dir = '~/dev/diffs.nvim', enabled = true, init = function() vim.g.diffs = { debug = false, hide_prefix = true, highlights = { vim = { enabled = true, }, intra = { enabled = true, max_lines = 500, }, }, } end, }, { -- TODO: find out a way to remove this/better overall github integration 'folke/snacks.nvim', ---@type snacks.Config opts = { gitbrowse = {} }, keys = { { 'Go', 'lua Snacks.gitbrowse()' }, { 'Gi', 'lua Snacks.picker.gh_issue()' }, { 'Gp', 'lua Snacks.picker.gh_pr()' }, }, }, { 'lewis6991/gitsigns.nvim', keys = { { '[g', 'Gitsigns next_hunk' }, { ']g', 'Gitsigns prev_hunk' }, { 'Gb', 'Gitsigns toggle_current_line_blame' }, { 'Gs', function() if vim.opt.signcolumn:get() == 'no' then prev_gitsigns_signcol = vim.opt.signcolumn:get() vim.opt.signcolumn = 'yes' else vim.opt.signcolumn = prev_gitsigns_signcol end vim.cmd.Gitsigns('toggle_signs') end, }, }, event = 'VeryLazy', opts = { current_line_blame_formatter_nc = function() return {} end, signs = { -- use boxdraw chars add = { text = '│' }, change = { text = '│' }, delete = { text = '_' }, topdelete = { text = '‾' }, changedelete = { text = '│' }, }, signcolumn = false, }, }, }