Files
dotfiles/nvim/files/lua/plugins/gitsigns.lua

52 lines
1.7 KiB
Lua

return {
"lewis6991/gitsigns.nvim",
config = function(bufnr)
require("gitsigns").setup({
on_attach = function(bufnr)
local gitsigns = require("gitsigns")
local function map(mode, l, r, opts)
opts = opts or {}
opts.buffer = bufnr
vim.keymap.set(mode, l, r, opts)
end
-- Navigation
-- map('n', ']c', function()
-- if vim.wo.diff then
-- vim.cmd.normal({ ']c', bang = true })
-- else
-- gitsigns.nav_hunk('next')
-- end
-- end)
-- map('n', '[c', function()
-- if vim.wo.diff then
-- vim.cmd.normal({ '[c', bang = true })
-- else
-- gitsigns.nav_hunk('prev')
-- end
-- end)
-- -- Actions
-- map('n', '<leader>hs', gitsigns.stage_hunk)
-- map('n', '<leader>hr', gitsigns.reset_hunk)
-- map('v', '<leader>hs', function() gitsigns.stage_hunk { vim.fn.line('.'), vim.fn.line('v') } end)
-- map('v', '<leader>hr', function() gitsigns.reset_hunk { vim.fn.line('.'), vim.fn.line('v') } end)
-- map('n', '<leader>hS', gitsigns.stage_buffer)
-- map('n', '<leader>hu', gitsigns.undo_stage_hunk)
-- map('n', '<leader>hR', gitsigns.reset_buffer)
map("n", "<leader>gp", gitsigns.preview_hunk, { desc = "Preview hunk" })
-- map('n', '<leader>hb', function() gitsigns.blame_line { full = true } end)
-- map('n', '<leader>tb', gitsigns.toggle_current_line_blame)
map("n", "<leader>gD", gitsigns.diffthis, { desc = "Diff this" })
-- map('n', '<leader>hD', function() gitsigns.diffthis('~') end)
-- map('n', '<leader>td', gitsigns.toggle_deleted)
-- -- Text object
-- map({ 'o', 'x' }, 'ih', ':<C-U>Gitsigns select_hunk<CR>')
end,
})
end,
}