aboutsummaryrefslogtreecommitdiff
path: root/lua/prismite/groups/syntax.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/prismite/groups/syntax.lua')
-rw-r--r--lua/prismite/groups/syntax.lua92
1 files changed, 92 insertions, 0 deletions
diff --git a/lua/prismite/groups/syntax.lua b/lua/prismite/groups/syntax.lua
new file mode 100644
index 0000000..3efde03
--- /dev/null
+++ b/lua/prismite/groups/syntax.lua
@@ -0,0 +1,92 @@
+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 },
+
+ -- 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"] = { underline = true },
+ ["@lsp.mod.modification"] = {},
+ ["@lsp.mod.static"] = {},
+}