155 lines
7.8 KiB
Lua
155 lines
7.8 KiB
Lua
---@param theme Theme
|
|
---@param palette Palette
|
|
return function(theme, palette)
|
|
return {
|
|
Boolean = { fg = palette.yellow, bg = palette.none },
|
|
Character = { link = "String" },
|
|
Comment = { fg = palette.gray, bg = palette.none, italic = true },
|
|
Conditional = { link = "Keyword" },
|
|
Constant = { fg = palette.aqua },
|
|
Debug = { fg = palette.blue, bg = palette.none },
|
|
Define = { link = "PreProc" },
|
|
Delimiter = { fg = palette.yellow, bg = palette.none },
|
|
Error = { fg = palette.red, bg = palette.none },
|
|
Exception = { link = "Keyword" },
|
|
Float = { link = "Number" },
|
|
Function = { fg = palette.blue, bg = palette.none },
|
|
Identifier = { fg = palette.fg, bg = palette.none },
|
|
Ignore = { fg = palette.none, bg = palette.none },
|
|
Include = { link = "Keyword" },
|
|
Keyword = { fg = palette.red, bg = palette.none },
|
|
Label = { link = "Keyword" },
|
|
Macro = { fg = palette.orange, bg = palette.none },
|
|
Number = { fg = palette.yellow, bg = palette.none },
|
|
Operator = { fg = palette.orange, bg = palette.none },
|
|
PreCondit = { link = "PreProc" },
|
|
PreProc = { fg = palette.bg_gradiant[4], bg = palette.none },
|
|
Repeat = { link = "Keyword" },
|
|
Special = { fg = palette.blue, bg = palette.none },
|
|
SpecialChar = { fg = palette.aqua, bg = palette.none },
|
|
SpecialComment = { fg = palette.bg_gradiant[4], bg = palette.none },
|
|
Statement = { link = "Identifier" },
|
|
StorageClass = { link = "Keyword" },
|
|
String = { fg = palette.green, bg = palette.none },
|
|
Structure = { link = "Keyword" },
|
|
Tag = { fg = palette.blue, bg = palette.none },
|
|
Todo = { fg = palette.yellow, bg = palette.harder_bg },
|
|
Type = { fg = palette.yellow, bg = palette.none },
|
|
Typedef = { link = "Keyword" },
|
|
|
|
-- Diags
|
|
DiagnosticError = theme.msg.error,
|
|
DiagnosticHint = theme.msg.hint,
|
|
DiagnosticInfo = theme.msg.info,
|
|
DiagnosticWarn = theme.msg.warning,
|
|
DiagnosticUnderlineError = { sp = palette.red, undercurl = true },
|
|
DiagnosticUnderlineHint = { sp = palette.aqua, undercurl = true },
|
|
DiagnosticUnderlineInfo = { sp = palette.blue, undercurl = true },
|
|
DiagnosticUnderlineWarn = { sp = palette.yellow, undercurl = true },
|
|
LspInlayHint = theme.conceal,
|
|
LspCodeLens = { link = "LspInlayHint" },
|
|
LspCodeLensSeparator = { link = "LspCodeLens" },
|
|
LspReferenceRead = theme.active,
|
|
LspReferenceWrite = { fg = palette.none, bg = palette.harder_bg },
|
|
LspReferenceText = theme.active,
|
|
|
|
["@annotation"] = { fg = palette.yellow },
|
|
["@attribute"] = { fg = palette.yellow },
|
|
["@boolean"] = { link = "Boolean" },
|
|
["@character"] = { link = "Character" },
|
|
["@character.special"] = { link = "SpecialChar" },
|
|
["@class"] = { link = "Type" },
|
|
["@comment"] = { link = "Comment" },
|
|
["@comment.documentation"] = { fg = palette.gray, bg = palette.none, nocombine = true },
|
|
["@comment.todo"] = { link = "Todo" },
|
|
["@conditional"] = { link = "Conditional" },
|
|
["@constant"] = { link = "Constant" },
|
|
["@constant.builtin"] = { link = "@constant" },
|
|
["@constant.macro"] = { link = "@constant" },
|
|
["@constructor"] = { fg = palette.green, bold = true },
|
|
["@debug"] = { link = "Debug" },
|
|
["@decorator"] = { fg = palette.orange },
|
|
["@define"] = { link = "Define" },
|
|
["@enum"] = { fg = palette.aqua },
|
|
["@enumMember"] = { fg = palette.blue },
|
|
["@error"] = { link = "Error" },
|
|
["@event"] = { fg = palette.orange },
|
|
["@exception"] = { link = "Exception" },
|
|
["@field"] = { link = "@variable.member" }, -- Deprecated
|
|
["@float"] = { link = "@number.float" }, -- Deprecated
|
|
["@function"] = { link = "Function" },
|
|
["@function.macro"] = { link = "Macro" },
|
|
["@function.method"] = { link = "Function" },
|
|
["@include"] = { link = "Include" },
|
|
["@interface"] = { fg = palette.orange },
|
|
["@keyword"] = { link = "Keyword" },
|
|
["@keyword.operator"] = { link = "Operator" },
|
|
["@label"] = { link = "Label" },
|
|
["@method"] = { link = "@function.method" }, -- Deprecated
|
|
["@modifier"] = { fg = palette.orange },
|
|
["@module"] = { fg = palette.fg_gradiant[2] },
|
|
["@namespace"] = { link = "@module" }, -- Deprecated
|
|
["@none"] = { link = "Conceal" },
|
|
["@number"] = { link = "Number" },
|
|
["@number.float"] = { link = "Float" },
|
|
["@operator"] = { link = "@keyword.operator" }, -- Deprecated?
|
|
["@parameter"] = { link = "@variable.parameter" }, -- Deprecated
|
|
["@preproc"] = { link = "PreProc" },
|
|
["@property"] = { link = "@field" },
|
|
["@punctuation.bracket"] = { link = "Identifier" },
|
|
["@punctuation.delimiter"] = { fg = palette.orange },
|
|
["@punctuation.special"] = { link = "Special" },
|
|
["@regexp"] = { fg = palette.aqua },
|
|
["@repeat"] = { link = "Repeat" },
|
|
["@storageclass"] = { link = "StorageClass" },
|
|
["@storageclass.lifeTime"] = { fg = palette.purple },
|
|
["@string"] = { link = "String" },
|
|
["@string.escape"] = { fg = palette.red },
|
|
["@string.regex"] = { fg = palette.aqua },
|
|
["@string.special"] = { link = "Special" }, -- Deprecated?
|
|
["@struct"] = { link = "Type" },
|
|
["@symbol"] = { link = "Special" },
|
|
["@tag"] = { fg = palette.red },
|
|
["@tag.attribute"] = { fg = palette.yellow },
|
|
["@tag.delimiter"] = { fg = palette.fg },
|
|
["@type"] = { link = "Type" },
|
|
["@type.builtin"] = { link = "@type" },
|
|
["@type.qualifier"] = { fg = palette.purple },
|
|
["@typeParameter"] = { fg = palette.yellow },
|
|
["@variable"] = { link = "Identifier" },
|
|
["@variable.builtin"] = { bold = true },
|
|
["@variable.member"] = { link = "Identifier" },
|
|
["@variable.parameter"] = { fg = palette.fg_gradiant[2] },
|
|
|
|
-- LSP
|
|
["@lsp.mod.attribute"] = { link = "@attribute" },
|
|
["@lsp.mod.documentation"] = { link = "@comment.documentation" },
|
|
["@lsp.type"] = { link = "@type" },
|
|
["@lsp.type.attributeBracket"] = { fg = palette.orange },
|
|
["@lsp.type.class"] = { link = "@class" },
|
|
["@lsp.type.derive"] = { fg = palette.orange },
|
|
["@lsp.type.enum"] = { link = "@enum" },
|
|
["@lsp.type.enumMember"] = { link = "@enumMember" },
|
|
["@lsp.type.interface"] = { fg = palette.orange },
|
|
["@lsp.type.keyword"] = { link = "Keyword" },
|
|
["@lsp.type.lifeTime"] = { fg = palette.purple },
|
|
["@lsp.type.method"] = { link = "@method" },
|
|
["@lsp.type.namespace"] = { fg = palette.fg_gradiant[2] },
|
|
["@lsp.type.operator"] = { link = "Operator" },
|
|
["@lsp.type.parameter"] = { link = "@parameter" },
|
|
["@lsp.type.property"] = { link = "@property" },
|
|
["@lsp.type.selfTypeKeyword"] = { fg = palette.green, bold = true },
|
|
["@lsp.type.string"] = { link = "@string" },
|
|
["@lsp.type.struct"] = { link = "@struct" },
|
|
["@lsp.type.typeParameter"] = { link = "@type" },
|
|
["@lsp.type.variable"] = { link = "@variable" },
|
|
["@lsp.typemod.class.constructorOrDestructor"] = { link = "@constructor" },
|
|
["@lsp.typemod.comment.documentation"] = { link = "@comment.documentation" },
|
|
["@lsp.typemod.derive.attribute"] = { fg = palette.blue },
|
|
["@lsp.typemod.method"] = { link = "@method" },
|
|
["@lsp.typemod.selfKeyword"] = { fg = palette.fg, bold = true },
|
|
["@lsp.typemod.string.attribute"] = { link = "String" }, -- Hmmmm
|
|
["@lsp.typemod.variable.readonly"] = { link = "Constant" },
|
|
}
|
|
end
|