require('gitsigns').setup { keymaps = { -- Default keymap options buffer = true, noremap = true, ["n ]c"] = { expr = true, "&diff ? ']c' : 'lua require\"gitsigns\".next_hunk()'" }, ["n [c"] = { expr = true, "&diff ? '[c' : 'lua require\"gitsigns\".prev_hunk()'" }, ["n hs"] = 'lua require"gitsigns".stage_hunk()', ["n hu"] = 'lua require"gitsigns".undo_stage_hunk()', ["n hr"] = 'lua require"gitsigns".reset_hunk()', ["n hp"] = 'lua require"gitsigns".preview_hunk()', ["n hb"] = 'lua require"gitsigns".blame_line()' }, -- signs status_formatter = nil, -- Use default numhl = false, sign_priority = 10, attach_to_untracked = false, -- fix gitsigns with yadm in ~ signs = { add = {hl = "DiffAdd", text = "+", numhl = "GitSignsAddNr"}, change = {hl = "DiffChange", text = ">", numhl = "GitSignsChangeNr"}, changedelete = { hl = "DiffChange", text = "~", numhl = "GitSignsChangeNr" }, delete = {hl = "DiffDelete", text = "_", numhl = "GitSignsDeleteNr"}, topdelete = { hl = "DiffDelete", text = "‾", numhl = "GitSignsDeleteNr" } }, yadm = {enable = true}, -- Current line blame 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 = 250, ignore_whitespace = false }, current_line_blame_formatter = ', - ' }