55 lines
2.1 KiB
Lua
55 lines
2.1 KiB
Lua
---@type LazySpec
|
|
return { {
|
|
'lewis6991/gitsigns.nvim', -- adds git signs to the signcolumn
|
|
event = 'VeryLazy',
|
|
opts = {
|
|
signs_staged_enable = true, -- whether staged statuses are enabled
|
|
signcolumn = true, -- the signs enable/disable based on the signcolumn state
|
|
current_line_blame = true, -- show the blame of the current line
|
|
current_line_blame_opts = {
|
|
delay = 50, -- delay in MS before blame is shown
|
|
ignore_whitespace = true, -- whether to ignore whitespace
|
|
use_focus = true, -- whether to only enable when the buffer is in focus
|
|
},
|
|
signs = { -- signs when working
|
|
add = { text = '+' },
|
|
change = { text = '~' },
|
|
delete = { text = '_' },
|
|
topdelete = { text = '‾' },
|
|
changedelete = { text = '~' },
|
|
untracked = { text = '┆' },
|
|
},
|
|
signs_staged = { -- signs when staged
|
|
add = { text = 'A' },
|
|
change = { text = 'M' },
|
|
delete = { text = 'D' },
|
|
topdelete = { text = 'D' },
|
|
changedelete = { text = 'M' },
|
|
untracked = { text = 'U' },
|
|
},
|
|
attach_to_untracked = true, -- shows untracked files' signcolumn
|
|
},
|
|
config = function(_, opts)
|
|
require('gitsigns').setup(opts)
|
|
|
|
local palette = _G.userdat.palette
|
|
local bg = vim.api.nvim_get_hl(0, { name = 'SignColumn' }).bg
|
|
for n, fg in pairs {
|
|
GitSignsAdd = palette.bright_green,
|
|
GitSignsChange = palette.bright_orange,
|
|
GitSignsDelete = palette.bright_red,
|
|
GitSignsTopdelete = palette.bright_red,
|
|
GitSignsChangedelete = palette.bright_orange,
|
|
GitSignsUntracked = palette.bright_aqua,
|
|
GitSignsStagedAdd = palette.neutral_green,
|
|
GitSignsStagedChange = palette.neutral_orange,
|
|
GitSignsStagedDelete = palette.neutral_red,
|
|
GitSignsStagedTopDelete = palette.neutral_red,
|
|
GitSignsStagedChangedelete = palette.neutral_orange,
|
|
GitSignsStagedUntracked = palette.neutral_aqua,
|
|
} do
|
|
vim.api.nvim_set_hl(0, n, { fg = fg, bg = bg })
|
|
end
|
|
end,
|
|
} }
|