starter/lua/plugins/transparency.lua
Thomas Smallwood e2bc0d8e2b
transparency
2025-11-23 01:58:22 +01:00

61 lines
1.3 KiB
Lua

local function apply_transparency()
local groups = {
"Normal",
"NormalNC",
"NormalFloat",
"FloatBorder",
"SignColumn",
"LineNr",
"CursorLineNr",
"EndOfBuffer",
"TelescopeNormal",
"TelescopeBorder",
"TelescopePromptBorder",
"TelescopeResultsBorder",
"TelescopePreviewBorder",
"NeoTreeNormal",
"NeoTreeNormalNC",
"NeoTreeWinSeparator",
"NeoTreeEndOfBuffer",
"Pmenu",
"PmenuSel",
}
for _, group in ipairs(groups) do
vim.api.nvim_set_hl(0, group, { bg = "none" })
end
end
return {
{
"LazyVim/LazyVim",
opts = {
colorscheme = function()
vim.cmd("colorscheme tokyonight") -- or your theme
apply_transparency()
end,
},
},
-- Automatically re-apply transparency when UI elements refresh
{
"xiyaowong/transparent.nvim",
event = "VeryLazy",
config = function()
-- when floats open
vim.api.nvim_create_autocmd("User", {
pattern = {
"SnacksPickerOpen",
"SnacksPickerClose",
"LazyVimFloat",
},
callback = apply_transparency,
})
-- when switching colorscheme
vim.api.nvim_create_autocmd("ColorScheme", {
callback = apply_transparency,
})
end,
},
}