Files
Astrobox/lua/astrobox/highlights/modules/syntax.lua
Niverton b4d05200d3 Now standalone plugin
First impl of standalone colorscheme
2023-12-09 23:20:15 +01:00

171 lines
8.8 KiB
Lua

return function(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.fg_gradiant[1], 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.gray, 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 = { fg = palette.red },
DiagnosticHint = { fg = palette.aqua },
DiagnosticInfo = { fg = palette.blue },
DiagnosticWarn = { fg = palette.yellow },
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 = { fg = palette.other.conceal, bg = palette.other.hard_bg },
LspCodeLens = { link = "LspInlayHint" },
LspCodeLensSeparator = { link = "LspCodeLens" },
LspReferenceRead = { fg = palette.none, bg = palette.harder_bg },
LspReferenceWrite = { fg = palette.none, bg = palette.harder_bg },
LspReferenceText = { fg = palette.none, bg = palette.softer_bg }, -- TODO Keep different?
["@annotation"] = { fg = palette.yellow },
["@attribute"] = { fg = palette.yellow },
["@boolean"] = { link = "Boolean" },
["@character"] = { link = "Character" },
["@character.special"] = { link = "SpecialChar" },
["@class"] = { fg = palette.yellow },
["@comment"] = { link = "Comment" },
["@comment.documentation"] = { fg = palette.gray, italic = false },
["@conditional"] = { link = "Conditional" },
["@constant"] = { link = "Constant" },
["@constant.builtin"] = { link = "@constant" },
["@constant.macro"] = { link = "@constant" },
["@constructor"] = { fg = palette.fg_gradiant[1], bold = true },
["@debug"] = { link = "Debug" },
["@decorator"] = { fg = palette.orange },
["@define"] = { link = "Define" },
["@enum"] = { fg = palette.cyan },
["@enumMember"] = { fg = palette.blue },
["@error"] = { link = "Error" },
["@event"] = { fg = palette.orange },
["@exception"] = { link = "Exception" },
["@field"] = { link = "Identifier" },
["@float"] = { link = "Float" },
["@function"] = { link = "Function" },
["@function.macro"] = { link = "Macro" },
["@include"] = { link = "Include" },
["@interface"] = { fg = palette.orange },
["@keyword"] = { link = "Keyword" },
["@label"] = { link = "Label" },
["@method"] = { fg = palette.fg_gradiant[1] },
["@modifier"] = { fg = palette.orange },
["@namespace"] = { fg = palette.fg_gradiant[2] },
["@none"] = { link = "Conceal" },
["@number"] = { link = "Number" },
["@operator"] = { link = "Operator" },
["@parameter"] = { fg = palette.fg_gradiant[1] },
["@preproc"] = { link = "PreProc" },
["@property"] = { link = "@field" },
["@punctuation.bracket"] = { link = "Identifier" },
["@punctuation.delimiter"] = { fg = palette.orange },
["@punctuation.special"] = { link = "Special" },
["@regexp"] = { fg = palette.cyan },
["@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" },
["@struct"] = { fg = palette.yellow },
["@symbol"] = { link = "Special" },
["@tag"] = { fg = palette.red },
["@tag.attribute"] = { fg = palette.yellow },
["@tag.delimiter"] = { fg = palette.fg },
["@text"] = { fg = palette.fg },
["@text.checked"] = { fg = palette.green },
["@text.danger"] = { fg = palette.red },
["@text.diff.add"] = { link = "DiffAdded" },
["@text.diff.delete"] = { link = "DiffDelete" },
["@text.emphasis"] = { fg = palette.fg, italic = true },
["@text.environment"] = { fg = palette.yellow },
["@text.environment.name"] = { fg = palette.orange },
["@text.literal"] = { fg = palette.fg },
["@text.math"] = { fg = palette.aqua },
["@text.note"] = { fg = palette.aqua },
["@text.quote"] = { fg = palette.fg, italic = true },
["@text.reference"] = { fg = palette.aqua, bold = true },
["@text.strike"] = { fg = palette.fg, strikethrough = true },
["@text.strong"] = { fg = palette.fg, bold = true },
["@text.title"] = { fg = palette.green, bold = true },
["@text.title.1.markdown"] = { fg = palette.blue, bold = true },
["@text.title.2.markdown"] = { fg = palette.aqua, bold = true },
["@text.title.3.markdown"] = { fg = palette.purple, bold = true },
["@text.title.4.markdown"] = { fg = palette.yellow, bold = true },
["@text.todo"] = { link = "Todo" },
["@text.todo.checked"] = { link = "@text.checked" },
["@text.todo.danger"] = { link = "@text.danger" },
["@text.todo.note"] = { link = "@text.note" },
["@text.todo.unchecked"] = { link = "@text.unchecked" },
["@text.todo.warning"] = { link = "@text.warning" },
["@text.unchecked"] = { fg = palette.blue },
["@text.underline"] = { link = "Underline" },
["@text.uri"] = { link = "Underlined" },
["@text.warning"] = { fg = palette.yellow },
["@type"] = { link = "Type" },
["@type.qualifier"] = { fg = palette.purple },
["@typeParameter"] = { fg = palette.yellow },
["@variable"] = { link = "Identifier" },
["@variable.builtin"] = { bold = true },
-- LSP
["@lsp.mod.attribute"] = { link = "@attribute" },
["@lsp.mod.documentation"] = { link = "@comment.documentation" },
["@lsp.type"] = { link = "@type" },
["@lsp.type.attributeBracket"] = { fg = palette.orange },
["@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[1] },
["@lsp.type.operator"] = { link = "Operator" },
["@lsp.type.parameter"] = { link = "@parameter" },
["@lsp.type.property"] = { link = "@property" },
["@lsp.type.selfTypeKeyword"] = { fg = palette.aqua, bold = true },
["@lsp.type.struct"] = { link = "@struct" },
["@lsp.type.typeParameter"] = { link = "@type" },
["@lsp.type.variable"] = { link = "@variable" },
["@lsp.typemod.class.constructorOrDestructor"] = { link = "@constructor" },
["@lsp.typemod.method"] = { link = "@method" },
["@lsp.typemod.selfKeyword"] = { fg = palette.fg_gradiant[1], bold = true },
["@lsp.typemod.string.attribute"] = { link = "String" }, -- Hmmmm
["@lsp.typemod.variable.readonly"] = { link = "Constant" },
}
end