Files
dotfiles/.config/nvim/lua/plugins/git.lua
2026-01-04 22:29:08 +04:00

66 lines
1.6 KiB
Lua

return {
-- Поддержка git
{
"lewis6991/gitsigns.nvim",
opts = {
signs = {
add = { text = "+" },
change = { text = "~" },
delete = { text = "_" },
},
},
config = function(_, opts)
require("gitsigns").setup(opts)
local function map(mode, l, r, opts)
opts = opts or { noremap = true, silent = true }
opts.buffer = bufnr
vim.keymap.set(mode, l, r, opts)
end
local gs = package.loaded.gitsigns
map("n", "]c", function()
if vim.wo.diff then
return "]c"
end
vim.schedule(function()
gs.next_hunk()
end)
return "<Ignore>"
end, { expr = true })
map("n", "[c", function()
if vim.wo.diff then
return "[c"
end
vim.schedule(function()
gs.prev_hunk()
end)
return "<Ignore>"
end, { expr = true })
-- map("n", "<leader>gs", gs.stage_hunk)
-- map("n", "<leader>gr", gs.reset_hunk)
-- map("v", "<leader>gs", function()
-- gs.stage_hunk({ vim.fn.line("."), vim.fn.line("v") })
-- end)
-- map("v", "<leader>gr", function()
-- gs.reset_hunk({ vim.fn.line("."), vim.fn.line("v") })
-- end)
-- map("n", "<leader>gS", gs.stage_buffer)
-- map("n", "<leader>gu", gs.undo_stage_hunk)
-- map("n", "<leader>gR", gs.reset_buffer)
-- map("n", "<leader>gp", gs.preview_hunk)
-- map("n", "<leader>gb", function()
-- gs.blame_line({ full = true })
-- end)
-- map("n", "<leader>gtb", gs.toggle_current_line_blame)
-- map("n", "<leader>gd", gs.diffthis)
-- map("n", "<leader>gD", function()
-- gs.diffthis("~")
-- end)
-- map("n", "<leader>gtd", gs.toggle_deleted)
end,
},
}