43 lines
1.5 KiB
Lua
43 lines
1.5 KiB
Lua
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', '<Leader>hp', gs.preview_hunk, opts)
|
|
vim.keymap.set('n', '<Leader>hb', function() gs.blame_line{full=false} end, opts)
|
|
vim.keymap.set('n', '<Leader>hB', function() gs.blame_line{full=true} end, opts)
|
|
end
|
|
}
|