nvim/lua/plugins/gitsigns.lua
2025-11-29 01:07:44 -08:00

42 lines
1.6 KiB
Lua

return {
"lewis6991/gitsigns.nvim",
event = { "BufReadPre", "BufNewFile" },
config = function()
require("gitsigns").setup({
-- Disable sign column indicators
signcolumn = false,
-- Show colors on line numbers
numhl = true,
-- Highlight the entire line for changed lines (Cursor-style)
linehl = true,
-- Highlight the word that changed within a line
word_diff = true,
-- Show git blame at end of current line (optional, can be distracting)
current_line_blame = false,
current_line_blame_opts = {
virt_text = true,
virt_text_pos = 'eol',
delay = 1000,
ignore_whitespace = false,
},
-- Preview window configuration
preview_config = {
border = 'rounded',
style = 'minimal',
},
on_attach = function(bufnr)
-- Set up Cursor-style line highlights (subtle background colors)
-- Green tint for added lines
vim.api.nvim_set_hl(0, "GitSignsAddLn", { bg = "#2a3a2a" })
-- Red tint for removed/changed lines
vim.api.nvim_set_hl(0, "GitSignsChangeLn", { bg = "#3a2a2a" })
vim.api.nvim_set_hl(0, "GitSignsDeleteLn", { bg = "#3a2a2a" })
vim.api.nvim_set_hl(0, "GitSignsChangedeleteLn", { bg = "#3a2a2a" })
-- Word diff highlights (more prominent)
vim.api.nvim_set_hl(0, "GitSignsAddLnInline", { bg = "#3d5a3d" })
vim.api.nvim_set_hl(0, "GitSignsChangeLnInline", { bg = "#5a3d3d" })
vim.api.nvim_set_hl(0, "GitSignsDeleteLnInline", { bg = "#5a3d3d" })
end,
})
end,
}