config/nvim/lua/plugin/gitsigns.lua (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
local M = {}
function M.setup()
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,
numhl = false,
linehl = false,
word_diff = false,
keymaps = {
noremap = true,
["n <leader>gs"] = '<cmd>lua require"gitsigns".stage_hunk()<CR>',
["n <leader>gr"] = '<cmd>lua require"gitsigns".reset_hunk()<CR>',
["n <leader>gR"] = '<cmd>lua require"gitsigns".reset_buffer()<CR>',
["n <leader>gp"] = '<cmd>lua require"gitsigns".preview_hunk()<CR>',
["n <leader>gl"] = '<cmd>lua require"gitsigns".blame_line(true)<CR>',
["n <leader>gS"] = '<cmd>lua require"gitsigns".stage_buffer()<CR>',
["n <leader>gU"] = '<cmd>lua require"gitsigns".reset_buffer_index()<CR>',
},
watch_gitdir = {
interval = 1000,
follow_files = true,
},
attach_to_untracked = true,
current_line_blame = false,
current_line_blame_opts = {
virt_text = true,
virt_text_pos = "eol", -- 'eol' | 'overlay' | 'right_align'
delay = 300,
},
current_line_blame_formatter_opts = { relative_time = false },
sign_priority = 6,
update_debounce = 100,
status_formatter = nil,
max_file_length = 40000,
preview_config = {
border = "single",
style = "minimal",
relative = "cursor",
row = 0,
col = 1,
},
yadm = { enable = false },
}
end
return M
|