summaryrefslogtreecommitdiff
path: root/lua/meltdown
diff options
context:
space:
mode:
authorJosh Rahm <rahm@google.com>2024-03-27 00:24:06 +0000
committerJosh Rahm <rahm@google.com>2024-03-27 00:24:06 +0000
commit0ffea14cd78981d89bcc43cd623551034094104a (patch)
tree3a9d087fd45e530c452653ef904d4ff7f2909a21 /lua/meltdown
downloadmeltdown-0ffea14cd78981d89bcc43cd623551034094104a.tar.gz
meltdown-0ffea14cd78981d89bcc43cd623551034094104a.tar.bz2
meltdown-0ffea14cd78981d89bcc43cd623551034094104a.zip
Initial commit. Migrate meltdown_ng to lua
Diffstat (limited to 'lua/meltdown')
-rw-r--r--lua/meltdown/highlights.lua205
1 files changed, 205 insertions, 0 deletions
diff --git a/lua/meltdown/highlights.lua b/lua/meltdown/highlights.lua
new file mode 100644
index 0000000..a977007
--- /dev/null
+++ b/lua/meltdown/highlights.lua
@@ -0,0 +1,205 @@
+local vim = assert(vim)
+
+local M = {}
+
+local function highlights(colors)
+ local borders = colors.black
+
+ return{
+ -- General Vim UI
+ ["TabLineFill"] = {fg = colors.bg_6, bg = borders},
+ ["IncSearch"] = {fg = colors.bg_0, bg = colors.red},
+ ["CurSearch"] = {fg = colors.bg_0, bg = colors.salmon},
+ ["TabLineSel"] = { fg = colors.bg_4, bg = colors.salmon },
+ ["MatchParen"] = { bg = colors.blue, fg = colors.black },
+ ["VertSplit"] = { fg = colors.black, bg = borders},
+ ["WinSeparator"] = { fg = colors.black, bg = borders},
+ ["Normal"] = { fg = colors.normal_fg, bg = colors.bg_3 },
+ ["DarkGray"] = { fg = colors.dark_grey },
+ ["StatusLine"] = { fg = colors.red, bg = borders, bold = true },
+ ["Title"] = { fg = colors.orange, bg = colors.lighter_grey, bold = true },
+ ["Visual"] = { fg = colors.black, bg = colors.gold_2 },
+ ["CursorLineNr"] = { fg = colors.red, bg = colors.bg_4},
+ ["StatusLineNC"] = { fg = colors.lighter_grey, bg = colors.black, bold = true },
+ ["Folded"] = { fg = colors.black, bg = colors.sage },
+ ["TabLine"] = { fg = colors.near_white, bg = colors.bg_4},
+ ["Search"] = { bg = colors.bg_5, fg = colors.near_white },
+ ["SignColumn"] = { bg = colors.bg_1},
+ ["LineNrAbove"] = { fg = colors.bg_6, bg = colors.bg_1, italic = true },
+ ["LineNr"] = { fg = colors.bg_6, bg = colors.bg_1, bold = true },
+ ["LineNrBelow"] = { fg = colors.bg_6, bg = colors.bg_1, italic = true },
+ ["DocComment"] = { fg = colors.cobalt, italic = true },
+ ["@attribute"] = { fg = colors.magenta },
+ ["@comment.documentation.java"] = { fg = colors.cobalt, italic = true },
+ ["@constructor.lua"] = { fg = colors.blue },
+ ["@lsp.mod.classScope"] = { fg = colors.salmon },
+ ["@lsp.mod.functionScope"] = { fg = colors.sage},
+ ["@lsp.mod.readonly"] = { fg = colors.magenta },
+ ["@lsp.type.class"] = { fg = colors.orange },
+ ["@lsp.type.enum"] = { fg = colors.orange },
+ ["@lsp.type.enum.java"] = { fg = colors.gold_1},
+ ["@lsp.type.interface.java"] = { fg = colors.salmon_2 },
+ ["@lsp.type.namespace"] = { fg = colors.stormy_blue},
+ ["@lsp.type.operator"] = { fg = colors.blue },
+ ["@lsp.type.parameter"] = { fg = colors.red },
+ ["@lsp.type.property"] = { fg = colors.salmon },
+ ["@lsp.type.field"] = { fg = colors.salmon },
+ ["@lsp.type.property.java"] = { fg = colors.salmon },
+ ["@lsp.type.struct"] = { fg = colors.orange },
+ ["@lsp.type.typeParameter"] = { fg = colors.magenta },
+ ["@lsp.type.variable"] = { fg = colors.lighter_grey },
+ ["@lsp.typemod.method"] = { fg = colors.gold_2 },
+ ["@lsp.typemod.parameter.functionScope"] = { fg = colors.red },
+ ["@lsp.typemod.property.static.java"] = { fg = colors.sage_2},
+ ["@lsp.typemod.variable.functionScope.cpp"] = { fg = colors.lighter_grey },
+ ["@module"] = { fg = colors.stormy_blue},
+ ["@punctuation"] = { fg = colors.blue },
+ ["@type.builtin"] = { fg = colors.orange },
+ ["@type.qualifier"] = { fg = colors.blue },
+ ["@variable"] = { fg = colors.lighter_grey },
+ ["@variable.member"] = { fg = colors.salmon },
+ ["@variable.parameter"] = { fg = colors.red },
+ ["luaTable"] = { fg = colors.blue },
+ ["vimFunction"] = { fg = colors.gold_2 },
+ ["vimIsCommand"] = { fg = colors.red },
+ ["vimUserFunc"] = { fg = colors.gold_2 },
+
+ ["CmpItemAbbrDeprecated"] = { fg = colors.salmon, bg = colors.bg_5, strikethrough = true },
+ ["CmpItemAbbrMatch"] = { fg = colors.bg_5, bg = colors.salmon, bold = true },
+ ["PmenuSbar"] = { bg = colors.dark_cloud},
+ ["PmenuThumb"] = { bg = colors.blue},
+
+ ["Pmenu"] = { fg = colors.salmon, bg = colors.midnight},
+ ["CmpDefault"] = { fg = colors.salmon, bg = colors.midnight},
+ ["CmpBorder"] = { fg = colors.salmon, bg = colors.midnight},
+ ["CmpCompletion"] = { fg = colors.red },
+ ["CmpCompletionBorder"] = { fg = colors.salmon, bg = colors.midnight},
+ ["CmpCompletionExtension"] = { fg = colors.salmon, bg = colors.midnight},
+ ["CmpCompletionSbar"] = { fg = colors.salmon, bg = colors.midnight},
+ ["CmpCompletionSel"] = { fg = colors.salmon, bg = colors.midnight},
+ ["CmpCompletionThumb"] = { fg = colors.radioactive_green },
+ ["CmpDocumentation"] = { fg = colors.salmon, bg = colors.midnight},
+ ["CmpDocumentationBorder"] = { fg = colors.salmon, bg = colors.midnight},
+ ["CmpGhostText"] = { fg = colors.salmon, bg = colors.midnight},
+ ["CmpItemAbbr"] = { fg = colors.salmon, bg = colors.midnight},
+ ["CmpItemAbbrDefault"] = { fg = colors.salmon },
+ ["CmpItemAbbrDeprecatedDefault"] = { fg = colors.dark_cloud },
+ ["CmpItemAbbrMatchDefault"] = { fg = colors.salmon },
+ ["PmenuSel"] = { fg = colors.midnight, bg = colors.salmon, bold = true },
+ ["CmpItemAbbrMatchFuzzy"] = { fg = colors.midnight, bg = colors.salmon, bold = true },
+ ["CmpItemAbbrMatchFuzzyDefault"] = { fg = colors.salmon },
+ ["CmpItemKind"] = { fg = colors.salmon, bg = colors.midnight},
+ ["CmpItemKindArray"] = { fg = colors.magenta },
+ ["CmpItemKindBoolean"] = { fg = colors.magenta },
+ ["CmpItemKindClass"] = { fg = colors.orange },
+ ["CmpItemKindCodeium"] = { fg = colors.magenta },
+ ["CmpItemKindColor"] = { fg = colors.magenta },
+ ["CmpItemKindConstant"] = { fg = colors.magenta },
+ ["CmpItemKindConstructor"] = { fg = colors.magenta },
+ ["CmpItemKindCopilot"] = { fg = colors.magenta },
+ ["CmpItemKindDefault"] = { fg = colors.teal_2},
+ ["CmpItemKindEnum"] = { fg = colors.magenta },
+ ["CmpItemKindEnumMember"] = { fg = colors.magenta },
+ ["CmpItemKindEvent"] = { fg = colors.magenta },
+ ["CmpItemKindField"] = { fg = colors.magenta },
+ ["CmpItemKindFile"] = { fg = colors.magenta },
+ ["CmpItemKindFolder"] = { fg = colors.magenta },
+ ["CmpItemKindFunction"] = { fg = colors.gold_2 },
+ ["CmpItemKindInterface"] = { fg = colors.orange },
+ ["CmpItemKindKey"] = { fg = colors.magenta },
+ ["CmpItemKindKeyword"] = { fg = colors.magenta },
+ ["CmpItemKindMethod"] = { fg = colors.magenta },
+ ["CmpItemKindModule"] = { fg = colors.magenta },
+ ["CmpItemKindNamespace"] = { fg = colors.magenta },
+ ["CmpItemKindNull"] = { fg = colors.magenta },
+ ["CmpItemKindNumber"] = { fg = colors.magenta },
+ ["CmpItemKindObject"] = { fg = colors.magenta },
+ ["CmpItemKindOperator"] = { fg = colors.magenta },
+ ["CmpItemKindPackage"] = { fg = colors.magenta },
+ ["CmpItemKindProperty"] = { fg = colors.magenta },
+ ["CmpItemKindReference"] = { fg = colors.magenta },
+ ["CmpItemKindSnippet"] = { fg = colors.magenta },
+ ["CmpItemKindString"] = { fg = colors.magenta },
+ ["CmpItemKindStruct"] = { fg = colors.magenta },
+ ["CmpItemKindTabNine"] = { fg = colors.magenta },
+ ["CmpItemKindText"] = { fg = colors.magenta },
+ ["CmpItemKindTypeParameter"] = { fg = colors.lighter_grey },
+ ["CmpItemKindUnit"] = { fg = colors.magenta },
+ ["CmpItemKindValue"] = { fg = colors.magenta },
+ ["CmpItemKindVariable"] = { fg = colors.lighter_grey },
+ ["CmpItemMenu"] = { fg = colors.cobalt, italic = true },
+ ["CmpItemMenuDefault"] = { fg = colors.salmon },
+ ["CmpKind"] = { fg = colors.salmon, bg = colors.midnight},
+ ["CmpReady"] = { fg = colors.salmon, bg = colors.midnight},
+ ["CmpStatus"] = { fg = colors.salmon, bg = colors.midnight},
+ ["CmpZsh"] = { fg = colors.salmon, bg = colors.midnight},
+ ["DiagnosticInfo"] = { fg = colors.teal_3 },
+ ["DiagnosticError"] = { fg = colors.all_red},
+ ["ColorColumn"] = { },
+ ["vimAugroup"] = { fg = colors.magenta },
+ ["vimAutoCmdGroup"] = { fg = colors.magenta },
+ ["vimAutoCmdSfxList"] = { fg = colors.magenta },
+ ["vimAugroupEnd"] = { fg = colors.magenta },
+ ["vimUsrCmd"] = { fg = colors.blue },
+ ["vimSetEqual"] = { fg = colors.teal },
+ ["TabLineCloseSel"] = { fg = colors.half_red, bg = colors.red},
+ ["TabLineClose"] = { fg = colors.black, bg = colors.bg_1},
+ ["TabLineTail"] = { fg = colors.salmon, bg = colors.bg_1},
+ ["DiagnosticUnderlineError"] = { sp = colors.pink, undercurl = true },
+ ["DiagnosticUnderlineWarn"] = { sp = colors.light_yellow, undercurl = true },
+ ["DiagnosticUnderlineInfo"] = { sp = colors.teal_2, undercurl = true },
+ ["WarpNormal"] = { fg = colors.black, bg = colors.salmon, bold = true },
+ ["TelescopeNormal"] = { fg = colors.salmon, bg = colors.bg_1},
+ ["TelescopeSelection"] = { fg = colors.black, bg = colors.salmon },
+ ["TelescopeTitle"] = { fg = colors.salmon, bold = true },
+ ["TelescopeMatching"] = { reverse = true },
+ ["vimMapRhs"] = { fg = colors.magenta },
+ ["vimMapRhsExtend"] = { fg = colors.magenta },
+ ["Delimiter"] = { fg = colors.blue },
+ ["vimMapLhs"] = { fg = colors.orange },
+
+ ["LspReferenceText"] = { bg = colors.bg_5, sp = colors.sage },
+ ["LspReferenceRead"] = { bg = colors.bg_5, sp = colors.sage },
+ ["LspReferenceWrite"] = { bg = colors.bg_5, sp = colors.sage },
+
+ -- Common vim highlight groups
+ ["TagbarAccessProtected"] = { fg = colors.gold_2 },
+ ["javaDocTags"] = { fg = colors.salmon_2},
+ ["xmlTag"] = { fg = colors.blue },
+ ["StorageClass"] = { fg = colors.red },
+ ["Statement"] = { fg = colors.blue },
+ ["javaAnnotation"] = { fg = colors.magenta },
+ ["htmlEndTag"] = { fg = colors.purple },
+ ["Type"] = { fg = colors.orange },
+ ["FoldColumn"] = { fg = colors.radioactive_green },
+ ["Function"] = { fg = colors.gold_2 },
+ ["xmlAttrib"] = { fg = colors.olive},
+ ["Structure"] = { fg = colors.red },
+ ["htmlTagName"] = { fg = colors.blue },
+ ["PreProc"] = { fg = colors.magenta },
+ ["TagbarAccessPublic"] = { fg = colors.radioactive_green },
+ ["xmlEndTag"] = { fg = colors.red },
+ ["Identifier"] = { fg = colors.lighter_grey },
+ ["Number"] = { fg = colors.teal },
+ ["javaOperator"] = { fg = colors.blue },
+ ["String"] = { fg = colors.radioactive_green },
+ ["Comment"] = { fg = colors.dark_cloud, italic = true },
+ ["DiagnosticUnnecessary"] = { fg = colors.lighter_grey, strikethrough = true, sp = colors.bg_1 },
+ ["javaCommentTitle"] = { fg = colors.blue },
+ ["Constant"] = { fg = colors.magenta },
+ ["SpecialKey"] = { fg = colors.blue },
+ ["javaDocComment"] = { fg = colors.dark_cloud, italic = true },
+ ["TagbarAccessPrivate"] = { fg = colors.red },
+ ["htmlTag"] = { fg = colors.purple},
+ ["Operator"] = { fg = colors.blue },
+ ["Special"] = { fg = colors.gold_5},
+ }
+end
+
+function M.highlight(colors)
+ for hl, spec in pairs(highlights(colors)) do
+ vim.api.nvim_set_hl(0, hl, spec)
+ end
+end
+
+return M