diff options
Diffstat (limited to 'lua')
-rw-r--r-- | lua/lualine/themes/meltdown.lua | 41 | ||||
-rw-r--r-- | lua/meltdown.lua | 50 | ||||
-rw-r--r-- | lua/meltdown/highlights.lua | 205 |
3 files changed, 296 insertions, 0 deletions
diff --git a/lua/lualine/themes/meltdown.lua b/lua/lualine/themes/meltdown.lua new file mode 100644 index 0000000..215e32b --- /dev/null +++ b/lua/lualine/themes/meltdown.lua @@ -0,0 +1,41 @@ +local colors = require('meltdown').colors +local vim = assert(vim) + +local n_flip = colors.blue +local i_flip = colors.radioactive_green +local v_flip = colors.gold_2 +local r_flip = colors.red +local c_flip = colors.stormy_blue + +return { + normal = { + a = {bg = n_flip, fg = colors.midnight, gui = 'bold'}, + b = {bg = colors.midnight, fg = n_flip}, + c = {bg = colors.bg_1, fg = colors.gold_1} + }, + insert = { + a = {bg = i_flip, fg = colors.black, gui = 'bold'}, + b = {bg = colors.midnight, fg = i_flip}, + c = {bg = colors.bg_1, fg = colors.gold_1} + }, + visual = { + a = {bg = v_flip, fg = colors.midnight, gui = 'bold'}, + b = {bg = colors.midnight, fg = v_flip}, + c = {bg = colors.bg_1, fg = colors.gold_1} + }, + replace = { + a = {bg = r_flip, fg = colors.midnight, gui = 'bold'}, + b = {bg = colors.midnight, fg = r_flip}, + c = {bg = colors.bg_1, fg = colors.gold_1} + }, + command = { + a = {bg = c_flip, fg = colors.midnight, gui = 'bold'}, + b = {bg = colors.midnight, fg = c_flip}, + c = {bg = colors.bg_1, fg = colors.gold_1} + }, + inactive = { + a = {bg = n_flip, fg = colors.midnight, gui = 'bold'}, + b = {bg = colors.midnight, fg = n_flip}, + c = {bg = colors.bg_1, fg = colors.gold_1} + } +} diff --git a/lua/meltdown.lua b/lua/meltdown.lua new file mode 100644 index 0000000..403f9ca --- /dev/null +++ b/lua/meltdown.lua @@ -0,0 +1,50 @@ +local vim = assert(vim) + +local meltdown = {} + +meltdown.colors = { + bg_0 = "#16161D", + bg_1 = "#181820", + bg_2 = "#1a1a22", + bg_3 = "#1f1f28", + bg_4 = "#2a2a37", + bg_5 = "#363646", + bg_6 = "#54546d", + + near_white = '#e0e0e0', + normal_fg = '#d8e5b8', + + blue = '#80a0ff', + dark_grey = '#404040', + midnight = '#003040', + gold_1 = "#ffa034", + gold_2 = '#ffb700', + gold_5 = "#ffbd2f", + gold_3 = "#ffb75f" , + gold_4 = "#ffd780", + light_yellow = "#fce094", + salmon = '#ff7779', + salmon_2 = "#ff9074", + lighter_grey = '#9a9a9a', + red_2 = "#ff552f", + red = '#ff5d34', + all_red = '#ff0000', + half_red = '#790000', + pink = '#ffc0b9', + sage = '#9f9a84', + sage_2 = '#b0c4a3', + teal = '#76dbd8', + teal_2 = '#8cf8f7', + teal_3 = '#71fffa', + stormy_blue = '#8ba3bb', + dark_cloud = '#4b4b64', + magenta = '#ff74f4', + orange = '#ff8f34', + cobalt = '#00d0ff', + radioactive_green = '#26ff00', + black = '#000000', + olive = "#aba024", + purple = "#af80ff", +} + +return meltdown 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 |