Files

63 lines
1.8 KiB
Lua

local function get(p, config)
local styles = config.styles
local function st(style_opts)
local result = {}
if style_opts then
for k, v in pairs(style_opts) do
result[k] = v
end
end
return result
end
return {
Comment = vim.tbl_extend("force", { fg = p.fg_muted2 }, st(styles.comments)),
Constant = { fg = p.gold },
String = { fg = p.lavender },
Character = { fg = p.lavender },
Number = { fg = p.gold },
Boolean = { fg = p.gold },
Float = { fg = p.gold },
Identifier = { fg = p.fg_bright },
Function = vim.tbl_extend("force", { fg = p.deep_lavender }, st(styles.functions)),
Statement = vim.tbl_extend("force", { fg = p.coral }, st(styles.keywords)),
Conditional = vim.tbl_extend("force", { fg = p.coral }, st(styles.conditionals)),
Repeat = vim.tbl_extend("force", { fg = p.coral }, st(styles.loops)),
Label = { fg = p.coral },
Operator = vim.tbl_extend("force", { fg = p.gold }, st(styles.operators)),
Keyword = vim.tbl_extend("force", { fg = p.coral }, st(styles.keywords)),
Exception = { fg = p.coral },
PreProc = { fg = p.coral },
Include = { fg = p.coral },
Define = { fg = p.coral },
Macro = { fg = p.coral },
PreCondit = { fg = p.coral },
Type = vim.tbl_extend("force", { fg = p.teal }, st(styles.types)),
StorageClass = { fg = p.teal },
Structure = { fg = p.teal },
Typedef = { fg = p.teal },
Special = { fg = p.fg_bright },
SpecialChar = { fg = p.fg_bright },
Tag = { fg = p.teal },
Delimiter = { fg = p.fg_dim },
SpecialComment = { fg = p.fg_muted },
Underlined = { underline = true },
Bold = { bold = true },
Italic = { italic = true },
Error = { fg = p.coral },
Todo = { fg = p.gold, bg = p.bg },
}
end
return { get = get }