local colors = require "prismite.palette" return { Comment = { fg = colors.fg_low }, Constant = { fg = colors.pink }, String = { fg = colors.yellow }, Character = { link = "Constant" }, Number = { link = "Constant" }, Float = { link = "Number" }, Boolean = { link = "Constant" }, Identifier = { fg = colors.fg }, Function = { fg = colors.purple }, Statement = { fg = colors.blue }, Conditional = { link = "Statement" }, Repeat = { link = "Statement" }, Label = { link = "Statement" }, Operator = { fg = colors.fg }, Keyword = { link = "Statement" }, Exception = { link = "Statement" }, PreProc = { link = "Statement" }, Include = { link = "PreProc" }, Define = { link = "PreProc" }, Macro = { link = "PreProc" }, PreCondit = { link = "PreProc" }, Type = { fg = colors.orange }, StorageClass = { link = "Statement" }, Structure = { link = "Statement" }, Typedef = { link = "Statement" }, Special = { link = "Constant" }, SpecialChar = { link = "Special" }, Tag = { fg = colors.blue }, Delimiter = { fg = colors.fg }, SpecialComment = { fg = "fg", bg = "bg", underline = true }, Debug = { link = "Constant" }, Underlined = { underline = true }, Ignore = { fg = "bg" }, Error = { fg = colors.red }, Todo = { fg = colors.purple, bg = colors.bg }, Added = { link = "DiffAdd" }, Changed = { link = "DiffChange" }, Removed = { link = "DiffDelete" }, -- HTML specific highlights htmlTag = { fg = colors.pink }, htmlEndTag = { fg = colors.pink }, -- Rust doc comments rustCommentLineDoc = { link = "Comment" }, -- Semantic highlights, see :h lsp-semantic-highlight ["@lsp.type.class"] = { link = "@type" }, ["@lsp.type.comment"] = { link = "@comment" }, ["@lsp.type.decorator"] = { link = "@attribute" }, ["@lsp.type.enum"] = { link = "@type" }, ["@lsp.type.enumMember"] = { link = "@constant" }, -- ["@lsp.type.event"] = { link = "" }, -- TODO: figure out which hl this should link to ["@lsp.type.function"] = { link = "@function" }, ["@lsp.type.interface"] = { link = "@type" }, ["@lsp.type.keyword"] = { link = "@keyword" }, ["@lsp.type.macro"] = { link = "@constant.macro" }, ["@lsp.type.method"] = { link = "@function.method" }, ["@lsp.type.modifier"] = { link = "@keyword.modifer" }, ["@lsp.type.namespace"] = { link = "@module" }, ["@lsp.type.number"] = { link = "@number" }, ["@lsp.type.operator"] = { link = "@operator" }, ["@lsp.type.parameter"] = { link = "@variable.parameter" }, ["@lsp.type.property"] = { link = "@property" }, ["@lsp.type.regexp"] = { link = "@string.regexp" }, ["@lsp.type.string"] = { link = "@string" }, ["@lsp.type.struct"] = { link = "@type" }, ["@lsp.type.type"] = { link = "@type" }, ["@lsp.type.typeParameter"] = { link = "@variable.parameter" }, ["@lsp.type.variable"] = { link = "@variable" }, ["@lsp.mod.abstract"] = {}, ["@lsp.mod.async"] = {}, ["@lsp.mod.declaration"] = {}, ["@lsp.mod.defaultLibrary"] = {}, ["@lsp.mod.definition"] = {}, ["@lsp.mod.deprecated"] = { strikethrough = true }, ["@lsp.mod.documentation"] = {}, ["@lsp.mod.modification"] = {}, ["@lsp.mod.static"] = {}, }