103 lines
3.5 KiB
Lua
103 lines
3.5 KiB
Lua
---@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.normal,
|
|
TabLineFill = { link = "TabLine" },
|
|
TabLineSel = vim.tbl_extend("error", theme.statusbar.inactive, { bold = true, italic = true }),
|
|
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.active,
|
|
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 = "DiffText" }, -- TODO Switch to DiffChange?
|
|
DiffOldFile = theme.diff.normal.del,
|
|
DiffNewFile = theme.diff.normal.add,
|
|
DiffFile = theme.error, -- TODO What's this?
|
|
DiffLine = theme.error, -- TODO What's this?
|
|
DiffIndexLine = theme.error,
|
|
|
|
-- 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
|