kickstart.nvim/lua/custom/plugins/gitsigns.lua

46 lines
1.3 KiB
Lua
Executable File

return {
-- Lazy load gitsigns.nvim only if in a git repository
{
'lewis6991/gitsigns.nvim',
opts = {
-- Configuration options for gitsigns.nvim
signs = {
add = { text = '+' },
change = { text = '~' },
delete = { text = '_' },
topdelete = { text = '' },
changedelete = { text = '~' },
},
-- on_attach function executed when the plugin is attached to a buffer
on_attach = function(bufnr)
vim.keymap.set('n', '<leader>hp', require('gitsigns').preview_hunk, {
buffer = bufnr, desc = 'Preview git hunk'
})
-- Don't override built-in and fugitive keymaps
local gs = require('gitsigns')
vim.keymap.set({ 'n', 'v' }, ']c', function()
if vim.wo.diff then
return ']c'
end
vim.schedule(function()
gs.next_hunk()
end)
return '<Ignore>'
end, { expr = true, buffer = bufnr, desc = 'Jump to next hunk' })
vim.keymap.set({ 'n', 'v' }, '[c', function()
if vim.wo.diff then
return '[c'
end
vim.schedule(function()
gs.prev_hunk()
end)
return '<Ignore>'
end, { expr = true, buffer = bufnr, desc = 'Jump to previous hunk' })
end,
},
},
}