---@type number|nil local git_tab = nil ---@type string|nil local prev = nil return { { 'tpope/vim-fugitive', cmd = 'Git', }, { '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 = vim.opt.signcolumn:get() vim.opt.signcolumn = 'yes' else vim.opt.signcolumn = prev 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, }, }, }