-- Wallust Native Theme -- Generated by Wallust vim.cmd("hi clear") if vim.fn.exists("syntax_on") then vim.cmd("syntax reset") end vim.g.colors_name = "wallust" local c = { bg = "{{background}}", fg = "{{foreground}}", cursor = "{{cursor}}", c0 = "{{color0}}", c1 = "{{color1}}", c2 = "{{color2}}", c3 = "{{color3}}", c4 = "{{color4}}", c5 = "{{color5}}", c6 = "{{color6}}", c7 = "{{color7}}", c8 = "{{color8}}", c9 = "{{color9}}", c10 = "{{color10}}", c11 = "{{color11}}", c12 = "{{color12}}", c13 = "{{color13}}", c14 = "{{color14}}", c15 = "{{color15}}", tbg = "{{color0 | lighten(0.1)}}", } local hl = function(group, opts) vim.api.nvim_set_hl(0, group, opts) end -- Base hl("Normal", { fg = c.fg, bg = c.bg }) hl("Cursor", { fg = c.bg, bg = c.cursor }) hl("LineNr", { fg = c.c8 }) hl("CursorLine", { bg = c.c0 }) hl("StatusLine", { fg = c.fg, bg = c.c0 }) hl("TelescopeNormal", { bg = c.tbg }) -- Syntax hl("Comment", { fg = c.c8, italic = true }) hl("Constant", { fg = c.c3 }) hl("String", { fg = c.c2 }) hl("Identifier", { fg = c.c4 }) hl("Function", { fg = c.c4, bold = true }) hl("Statement", { fg = c.c5 }) hl("Keyword", { fg = c.c5 }) hl("Type", { fg = c.c6 }) hl("Special", { fg = c.c1 }) -- UI hl("Pmenu", { fg = c.fg, bg = c.c0 }) hl("PmenuSel", { fg = c.c0, bg = c.c4 }) hl("WinSeparator", { fg = c.c8 }) -- BARBAR HIGHLIGHTS (Revised for Visibility) -- 1. ACTIVE TAB (The one you are looking at) -- Background = Main BG, Foreground = Main FG (Seamless look) hl("BufferCurrent", { fg = c.fg, bg = c.bg, bold = true }) hl("BufferCurrentIndex", { fg = c.c4, bg = c.bg }) hl("BufferCurrentMod", { fg = c.c3, bg = c.bg }) hl("BufferCurrentSign", { fg = c.c4, bg = c.bg }) hl("BufferCurrentTarget", { fg = c.c1, bg = c.bg, bold = true }) -- 2. INACTIVE TAB (The ones waiting in the back) -- Background = Color0 (Darker/Different), Foreground = Color8 (Dimmed text) hl("BufferInactive", { fg = c.c8, bg = c.bg }) hl("BufferInactiveIndex", { fg = c.c8, bg = c.bg }) hl("BufferInactiveMod", { fg = c.c8, bg = c.bg }) hl("BufferInactiveSign", { fg = c.c8, bg = c.bg }) hl("BufferInactiveTarget", { fg = c.c8, bg = c.bg, bold = true }) -- 3. VISIBLE TAB (Open in another split) -- Slightly brighter than inactive, so you know it's "alive" hl("BufferVisible", { fg = c.fg, bg = c.c0 }) hl("BufferVisibleIndex", { fg = c.fg, bg = c.c0 }) hl("BufferVisibleMod", { fg = c.c3, bg = c.c0 }) hl("BufferVisibleSign", { fg = c.c4, bg = c.c0 }) hl("BufferVisibleTarget", { fg = c.c1, bg = c.c0, bold = true }) -- 4. THE EMPTY SPACE (The rest of the bar) -- Make this match the Inactive background so tabs float on it hl("BufferTabpageFill", { fg = c.c0, bg = c.bg })