diff --git a/lazy-lock.json b/lazy-lock.json index dfc586b..082ddc0 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -29,6 +29,7 @@ "todo-comments.nvim": { "branch": "main", "commit": "31e3c38ce9b29781e4422fc0322eb0a21f4e8668" }, "toggleterm.nvim": { "branch": "main", "commit": "50ea089fc548917cc3cc16b46a8211833b9e3c7c" }, "tokyonight.nvim": { "branch": "main", "commit": "5da1b76e64daf4c5d410f06bcb6b9cb640da7dfd" }, + "transparent.nvim": { "branch": "main", "commit": "8ac59883de84e9cd1850ea25cf087031c5ba7d54" }, "trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" }, "ts-comments.nvim": { "branch": "main", "commit": "123a9fb12e7229342f807ec9e6de478b1102b041" }, "typescript-tools.nvim": { "branch": "master", "commit": "c2f5910074103705661e9651aa841e0d7eea9932" }, diff --git a/lua/plugins/transparency.lua b/lua/plugins/transparency.lua new file mode 100644 index 0000000..a771483 --- /dev/null +++ b/lua/plugins/transparency.lua @@ -0,0 +1,61 @@ +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, + }, +}