---@param theme Theme ---@param palette Palette return function(theme, palette) return { Conceal = theme.conceal, Directory = theme.files.directory, EndOfBuffer = { link = "Normal" }, MatchParen = { fg = palette.none, bg = palette.none, bold = true, underline = true }, NonText = { fg = theme.conceal.fg }, Normal = theme.normal, NormalNC = { link = "Normal" }, QuickFixLine = theme.selection, SpecialKey = { fg = palette.none, bg = palette.colored_backgrounds.yellow }, Underlined = { fg = palette.aqua, bg = palette.none, underline = true }, -- Popup FloatTitle = theme.popup.title, FloatBorder = theme.popup.border, NormalFloat = theme.popup.normal, Title = theme.popup.title2, -- Bars StatusCommand = { fg = theme.statusbar.normal.bg, bg = palette.yellow }, StatusInsert = { fg = theme.statusbar.normal.bg, bg = palette.green }, StatusLine = theme.statusbar.normal, StatusLineNC = theme.statusbar.inactive, StatusNormal = { fg = theme.statusbar.normal.bg, bg = palette.blue }, StatusReplace = { fg = theme.statusbar.normal.bg, bg = palette.red }, StatusTerminal = { link = "StatusInsert" }, StatusVisual = { fg = theme.statusbar.normal.bg, bg = palette.purple }, TabLine = theme.statusbar.inactive, TabLineFill = theme.statusbar.normal, TabLineSel = theme.statusbar.active, WinBar = theme.winbar.normal, WinBarNC = theme.winbar.inactive, -- Cursor Cursor = { link = "Normal" }, CursorColumn = { link = "CursorLine" }, CursorIM = { link = "Cursor" }, CursorLine = theme.active, CursorLineNr = { fg = theme.normal.fg }, LineNr = theme.inactive, lCursor = { link = "Cursor" }, -- Columns ColorColumn = theme.active, FoldColumn = theme.none, Folded = theme.conceal, SignColumn = theme.none, -- Splits WinSeparator = theme.windows.separator, -- Diff DiffAdd = theme.diff.bg.add, DiffChange = theme.diff.bg.change, DiffDelete = theme.diff.bg.del, DiffText = theme.diff.bg.text, DiffAdded = { link = "DiffAdd" }, DiffRemoved = { link = "DiffDelete" }, DiffChanged = { link = "DiffChange" }, DiffOldFile = theme.diff.normal.del, DiffNewFile = theme.diff.normal.add, DiffFile = { fg = palette.purple, italic = true }, DiffLine = { fg = palette.blue }, DiffIndexLine = { fg = palette.yellow, italic = true }, -- Cmd ErrorMsg = theme.msg.error, WarningMsg = theme.msg.warning, Question = theme.msg.info, WildMenu = theme.selection, -- PMenu Pmenu = theme.menu.normal, PmenuSel = theme.menu.selection, PmenuSbar = theme.scrollbar, PmenuThumb = { link = "PmenuSbar" }, -- Search Search = theme.backgrounds.blue, IncSearch = theme.backgrounds.green, Substitute = theme.backgrounds.yellow, CurSearch = theme.backgrounds.purple, Visual = theme.backgrounds.aqua, VisualNOS = theme.backgrounds.red, -- Spelling SpellBad = { undercurl = true }, SpellCap = { undercurl = true }, SpellLocal = { undercurl = true }, SpellRare = { undercurl = true }, } end