summaryrefslogtreecommitdiff
path: root/lua/meltdown/highlights.lua
blob: b0af0d5e51219cc4b021809d4d2966faf627f646 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
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 },
    ["DarkFg"] = { fg = colors.bg_3, bg = colors.bg_1 },
    ["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.gold_1, bold = true },
    ["TelescopeNormal"] = { fg = colors.light_yellow, bg =  colors.bg_3},
    ["TelescopeSelection"] = { fg = colors.black, bg = colors.gold_1 },
    ["TelescopeTitle"] = { fg = colors.gold_1, bold = true },
    ["TelescopeMatching"] = { reverse = true },
    ["TelescopeBorder"] = { bg = colors.bg_1 },
    ["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},
    ["NonText"] = { fg = colors.salmon },
    ["ColorColumnLine"] = { fg = colors.bg_1, bold = true },

    ["LuaLineDiffAdd"] = {fg = colors.radioactive_green},
    ["LuaLineDiffChange"] = {fg = colors.light_yellow},
    ["LuaLineDiffDelete"] = {fg = colors.salmon},
  }
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