diff --git a/lua/plugins/git.lua b/lua/plugins/git.lua index 0eed773..37a7e28 100644 --- a/lua/plugins/git.lua +++ b/lua/plugins/git.lua @@ -44,9 +44,15 @@ return { "sindrets/diffview.nvim", cmd = { "DiffviewOpen", "DiffviewClose", "DiffviewToggleFiles", "DiffviewFocusFiles" }, config = function() + -- Set up diff highlights before loading diffview + vim.api.nvim_set_hl(0, "DiffAdd", { bg = "#2a3a2a" }) + vim.api.nvim_set_hl(0, "DiffChange", { bg = "#3a3a2a" }) + vim.api.nvim_set_hl(0, "DiffDelete", { bg = "#3a2a2a" }) + vim.api.nvim_set_hl(0, "DiffText", { bg = "#5a3d3d" }) + require("diffview").setup({ diff_binaries = false, -- Show diffs for binaries - enhanced_diff_hl = false, -- See ':h diffview-config-enhanced_diff_hl' + enhanced_diff_hl = true, -- Better word-level diff highlighting git_cmd = { "git" }, -- The git executable followed by default args. use_icons = true, -- Requires nvim-web-devicons show_help_hints = true, -- Show hints for how to open the help panel diff --git a/lua/plugins/gitsigns.lua b/lua/plugins/gitsigns.lua index 1e791c2..561f6f4 100644 --- a/lua/plugins/gitsigns.lua +++ b/lua/plugins/gitsigns.lua @@ -3,22 +3,14 @@ return { event = { "BufReadPre", "BufNewFile" }, config = function() require("gitsigns").setup({ - signs = { - add = { text = "█" }, - change = { text = "█" }, - delete = { text = "▁" }, - topdelete = { text = "▔" }, - changedelete = { text = "█" }, - untracked = { text = "┃" }, - }, + -- Disable sign column indicators + signcolumn = false, -- Show colors on line numbers numhl = true, - -- Optional: adds subtle highlighting to the entire line (set to true if you want) - linehl = false, - -- Optional: highlight the word that changed - word_diff = false, - -- Make the signs stand out a bit more with custom highlights - signcolumn = 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 = { @@ -32,6 +24,19 @@ return { 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, }