local status_ok, gitsigns = pcall(require, "gitsigns") if not status_ok then return end 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` watch_gitdir = { interval = 1000, follow_files = true, }, attach_to_untracked = true, current_line_blame_opts = { virt_text = true, virt_text_pos = "eol", -- 'eol' | 'overlay' | 'right_align' delay = 1000, }, sign_priority = 6, update_debounce = 100, status_formatter = nil, -- Use default preview_config = { -- Options passed to nvim_open_win border = "single", style = "minimal", relative = "cursor", row = 0, col = 1, }, -- on_attach = function (bufnr) -- local gs = package.loaded.gitsigns -- local opts = { buffer=bufnr, silent=true } -- vim.keymap.set('n', 'hp', gs.preview_hunk, opts) -- vim.keymap.set('n', 'hb', function() gs.blame_line{full=false} end, opts) -- vim.keymap.set('n', 'hB', function() gs.blame_line{full=true} end, opts) -- end }