local mapper = require("nvim-mapper") require('gitsigns').setup { signs = { add = { hl = 'GitSignsAdd', text = '│', numhl = 'GitSignsAddNr', linehl = 'GitSignsAddLn' }, change = { hl = 'GitSignsChange', text = '│', numhl = 'GitSignsChangeNr', linehl = 'GitSignsChangeLn' }, delete = { hl = 'GitSignsDelete', text = '_', numhl = 'GitSignsDeleteNr', linehl = 'GitSignsDeleteLn' }, topdelete = { hl = 'GitSignsDelete', text = '‾', numhl = 'GitSignsDeleteNr', linehl = 'GitSignsDeleteLn' }, changedelete = { hl = 'GitSignsChange', text = '~', numhl = 'GitSignsChangeNr', linehl = 'GitSignsChangeLn' } }, signcolumn = true, -- Toggle with `:Gitsigns toggle_signs` numhl = false, -- Toggle with `:Gitsigns toggle_numhl` linehl = false, -- Toggle with `:Gitsigns toggle_linehl` word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff` keymaps = { -- Default keymap options noremap = true, ['n ]h'] = { expr = true, "&diff ? ']c' : 'lua require\"gitsigns.actions\".next_hunk()'" }, ['n [h'] = { expr = true, "&diff ? '[c' : 'lua require\"gitsigns.actions\".prev_hunk()'" }, ['n gs'] = 'lua require"gitsigns".stage_hunk()', ['v gs'] = 'lua require"gitsigns".stage_hunk({vim.fn.line("."), vim.fn.line("v")})', ['n gu'] = 'lua require"gitsigns".undo_stage_hunk()', ['n gr'] = 'lua require"gitsigns".reset_hunk()', ['v gr'] = 'lua require"gitsigns".reset_hunk({vim.fn.line("."), vim.fn.line("v")})', ['n gR'] = 'lua require"gitsigns".reset_buffer()', ['n gp'] = 'lua require"gitsigns".preview_hunk()', ['n gb'] = 'lua require"gitsigns".blame_line(true)', ['n gS'] = 'lua require"gitsigns".stage_buffer()', ['n gU'] = 'lua require"gitsigns".reset_buffer_index()', -- Text objects ['o ih'] = ':lua require"gitsigns.actions".select_hunk()', ['x ih'] = ':lua require"gitsigns.actions".select_hunk()' }, watch_index = {interval = 1000, follow_files = true}, attach_to_untracked = true, current_line_blame = false, -- Toggle with `:Gitsigns toggle_current_line_blame` current_line_blame_opts = { virt_text = true, virt_text_pos = 'eol', -- 'eol' | 'overlay' | 'right_align' delay = 1000 }, current_line_blame_formatter_opts = {relative_time = false}, sign_priority = 6, update_debounce = 100, status_formatter = nil, -- Use default max_file_length = 40000, preview_config = { -- Options passed to nvim_open_win border = 'single', style = 'minimal', relative = 'cursor', row = 0, col = 1 }, diff_opts = {internal = true}, -- If vim.diff or luajit is present yadm = {enable = false} }