Small gitsigns cleanup and made sure that git blame shows before everything else

This commit is contained in:
Dreaded_X 2025-05-29 20:17:35 +02:00
parent e6a7dd6af5
commit 9d72215ac6
Signed by: Dreaded_X
GPG Key ID: 5A0CBFE3C3377FAA

View File

@ -1,3 +1,4 @@
-- https://github.com/lewis6991/gitsigns.nvim
return { return {
-- Adds git related signs to the gutter, as well as utilities for managing changes -- Adds git related signs to the gutter, as well as utilities for managing changes
"lewis6991/gitsigns.nvim", "lewis6991/gitsigns.nvim",
@ -20,33 +21,32 @@ return {
}, },
attach_to_untracked = true, attach_to_untracked = true,
current_line_blame_opts = { current_line_blame_opts = {
virt_text_pos = "right_align", virt_text_pos = "eol",
virt_text_priority = 1,
delay = 200, delay = 200,
priority = 9999,
}, },
}, },
init = function() init = function()
vim.keymap.set("n", "<leader>gs", require("gitsigns.actions").stage_hunk, { desc = "Stage hunk" }) local ga = require("gitsigns.actions")
vim.keymap.set("n", "<leader>gs", ga.stage_hunk, { desc = "(Un)stage hunk" })
vim.keymap.set("v", "<leader>gs", function() vim.keymap.set("v", "<leader>gs", function()
require("gitsigns.actions").stage_hunk({ vim.fn.line("."), vim.fn.line("v") }) ga.stage_hunk({ vim.fn.line("."), vim.fn.line("v") })
end, { desc = "Stage selection" }) end, { desc = "(Un)stage selection" })
vim.keymap.set("n", "<leader>gS", require("gitsigns.actions").undo_stage_hunk, { desc = "Undo stage hunk" }) vim.keymap.set("n", "<leader>gd", ga.preview_hunk, { desc = "Diff hunk" })
vim.keymap.set("n", "<leader>gd", require("gitsigns.actions").preview_hunk, { desc = "Diff hunk" }) vim.keymap.set("n", "<leader>gb", ga.toggle_current_line_blame, { desc = "Blame" })
vim.keymap.set("n", "<leader>gb", require("gitsigns.actions").toggle_current_line_blame, { desc = "Blame" }) vim.keymap.set("n", "<leader>gr", ga.reset_hunk, { desc = "Reset hunk" })
vim.keymap.set("n", "<leader>gr", require("gitsigns.actions").reset_hunk, { desc = "Reset hunk" })
vim.keymap.set("v", "<leader>gr", function() vim.keymap.set("v", "<leader>gr", function()
require("gitsigns.actions").reset_hunk({ vim.fn.line("."), vim.fn.line("v") }) ga.reset_hunk({ vim.fn.line("."), vim.fn.line("v") })
end, { desc = "Reset selection" }) end, { desc = "Reset selection" })
vim.keymap.set("n", "]g", function() vim.keymap.set("n", "]g", function()
require("gitsigns.actions").nav_hunk("next") ga.nav_hunk("next")
end, { desc = "Next hunk" }) end, { desc = "Next hunk" })
vim.keymap.set("n", "[g", function() vim.keymap.set("n", "[g", function()
require("gitsigns.actions").nav_hunk("prev") ga.nav_hunk("prev")
end, { desc = "Previous hunk" }) end, { desc = "Previous hunk" })
end, end,
} }