return function(palette) return { -- Bold = { bold = true }, -- Italic = { italic = true }, Conceal = { fg = palette.other.conceal, bg = palette.other.harder_bg }, Directory = { fg = palette.blue, bg = palette.none }, EndOfBuffer = { fg = palette.bg, bg = palette.bg }, MatchParen = { fg = palette.none, bg = palette.none, bold = true, underline = true }, NonText = { fg = palette.ui.fg_inactive, bg = palette.none }, Normal = { fg = palette.fg, bg = palette.bg }, NormalNC = { link = "Normal" }, QuickFixLine = palette.ui.selection, SpecialKey = { fg = palette.none, bg = palette.colored_backgrounds.yellow }, Underlined = { fg = palette.aqua, bg = palette.none, underline = true }, -- Popup FloatTitle = { fg = palette.ui.float.title, bg = palette.ui.bg, bold = true, }, FloatBorder = { fg = palette.ui.float.border, bg = palette.ui.bg, }, NormalFloat = { fg = palette.ui.float.text, bg = palette.ui.bg, }, Title = { fg = palette.ui.float.title2, bg = palette.bg, bold = true, }, -- Bars TabLine = { fg = palette.ui.fg_inactive, bg = palette.ui.bg_inactive }, TabLineFill = { fg = palette.none, bg = palette.ui.bg_inactive }, TabLineSel = { fg = palette.ui.fg, bg = palette.ui.bg, bold = true, italic = true }, WinBar = { fg = palette.ui.winbar.fg, bg = palette.ui.winbar.bg }, WinBarNC = { fg = palette.ui.winbar.fg_inactive, bg = palette.ui.winbar.bg_inactive, }, StatusCommand = { fg = palette.ui.statusbar.bg, bg = palette.yellow }, StatusInsert = { fg = palette.ui.statusbar.bg, bg = palette.green }, StatusLine = { fg = palette.ui.statusbar.fg, bg = palette.ui.statusbar.bg }, StatusLineNC = { fg = palette.ui.statusbar.fg_inactive, bg = palette.ui.statusbar.bg }, StatusNormal = { fg = palette.ui.statusbar.bg, bg = palette.blue }, StatusReplace = { fg = palette.ui.statusbar.bg, bg = palette.red }, StatusTerminal = { link = "StatusInsert" }, StatusVisual = { fg = palette.ui.statusbar.bg, bg = palette.purple }, -- Cursor Cursor = { fg = palette.fg, bg = palette.bg }, CursorColumn = { link = "CursorLine" }, CursorIM = { link = "Cursor" }, CursorLine = { fg = palette.none, bg = palette.other.bg_active }, CursorLineNr = { fg = palette.ui.fg, bg = palette.none }, LineNr = { fg = palette.ui.fg_inactive, bg = palette.none }, lCursor = { link = "Cursor" }, -- Columns ColorColumn = { fg = palette.none, bg = palette.other.bg_active }, FoldColumn = { fg = palette.ui.fg_inactive, bg = palette.none }, Folded = { fg = palette.ui.fg_inactive, bg = palette.none }, SignColumn = { fg = palette.none, bg = palette.none }, -- TODO Test -- Splits WinSeparator = { fg = palette.ui.win.separator, bg = palette.bg, -- bold = false, }, -- Diff DiffAdd = { fg = palette.none, bg = palette.colored_backgrounds.green }, DiffChange = { fg = palette.none, bg = palette.colored_backgrounds.blue }, DiffDelete = { fg = palette.none, bg = palette.colored_backgrounds.red }, DiffText = { fg = palette.none, bg = palette.colored_backgrounds.yellow }, DiffAdded = { link = "DiffAdd" }, DiffRemoved = { link = "DiffDelete" }, DiffChanged = { link = "DiffText" }, -- TODO Switch to DiffChange? DiffOldFile = { fg = palette.red, bg = palette.bg }, DiffNewFile = { fg = palette.green, bg = palette.bg }, DiffFile = palette.other.error_hl, -- TODO What's this? DiffLine = palette.other.error_hl, -- TODO What's this? DiffIndexLine = palette.other.error_hl, -- TODO What's this? -- Cmd ErrorMsg = { fg = palette.red, bg = palette.none }, WarningMsg = { fg = palette.yellow, bg = palette.none }, Question = { fg = palette.blue, bg = palette.none }, WildMenu = { fg = palette.ui.selection.fg, bg = palette.ui.selection.bg }, -- PMenu Pmenu = { fg = palette.ui.fg, bg = palette.ui.bg_hard }, PmenuSel = { fg = palette.ui.selection.fg, bg = palette.ui.selection.bg }, PmenuSbar = { fg = palette.none, bg = palette.ui.float.scroll }, PmenuThumb = { link = "PmenuSbar" }, -- Search Search = { fg = palette.fg, bg = palette.other.bg_active }, IncSearch = { fg = palette.none, bg = palette.colored_backgrounds.blue }, Substitute = { fg = palette.none, bg = palette.colored_backgrounds.yellow }, CurSearch = { link = "IncSearch" }, Visual = { fg = palette.none, bg = palette.other.bg_active }, VisualNOS = { fg = palette.other.bg_active, bg = palette.fg }, -- Meh -- Spelling SpellBad = { undercurl = true }, SpellCap = { undercurl = true }, SpellLocal = { undercurl = true }, SpellRare = { undercurl = true }, } end