1 require('gitsigns').setup({
2 on_attach = function(bufnr)
3 local gs = require('gitsigns')
4 local function map(mode, lhs, rhs)
5 vim.keymap.set(mode, lhs, rhs, { buffer = bufnr, silent = true })
8 map('n', ']c', function()
10 vim.cmd.normal({ ']c', bang = true })
15 map('n', '[c', function()
17 vim.cmd.normal({ '[c', bang = true })
23 map('n', '<leader>hp', gs.preview_hunk)
24 map('n', '<leader>hs', gs.stage_hunk)
25 map('n', '<leader>hr', gs.reset_hunk)
26 map('n', '<leader>hb', function() gs.blame_line({ full = true }) end)
27 map('x', '<leader>hs', function()
28 gs.stage_hunk({ vim.fn.line('.'), vim.fn.line('v') })
30 map('x', '<leader>hr', function()
31 gs.reset_hunk({ vim.fn.line('.'), vim.fn.line('v') })