diff --git a/lua/base46/themes/eldritch.lua b/lua/base46/themes/eldritch.lua new file mode 100644 index 00000000..a4422083 --- /dev/null +++ b/lua/base46/themes/eldritch.lua @@ -0,0 +1,151 @@ +--- Credits to the original authors of [Eldritch](https://github.com/eldritch-theme/eldritch) +--- This is just a port for NvChad's theme engine: base46 + +---@class Base46Table +local M = {} + +M.base_30 = { + white = "#EBFAFA", + darker_black = "#191A21", + black = "#212337", + black2 = "#414868", + one_bg = "#2D2C3C", + one_bg2 = "#38364A", + one_bg3 = "#4B5263", + grey = "#ABB4DA", + grey_fg = "#8386A8", + grey_fg2 = "#7C80A3", + light_grey = "#3B4261", + red = "#F16C75", + baby_pink = "#F265B5", + pink = "#BF4F8E", + line = "#3B4261", + green = "#37F499", + vibrant_green = "#00FA82", + nord_blue = "#7081D0", + blue = "#04D1F9", + yellow = "#F1FC79", + sun = "#E9F941", + purple = "#A48CF2", + dark_purple = "#5866A2", + teal = "#33C57F", + orange = "#F7C67F", + cyan = "#04D1F9", + statusline_bg = "#323449", + lightbg = "#292E42", + pmenu_bg = "#37F499", + folder_bg = "#66E4FD", +} + +M.base_16 = { + base00 = "#171928", + base01 = "#191A21", + base02 = "#212337", + base03 = "#3B4261", + base04 = "#8386A8", + base05 = "#ABB4DA", + base06 = "#EBFAFA", + base07 = "#FFFFFF", + base08 = "#F16C75", + base09 = "#F16C75", + base0A = "#F7C67F", + base0B = "#F1FC79", + base0C = "#04D1F9", + base0D = "#7081D0", + base0E = "#A48CF2", + base0F = "#F16C75", +} + +M.polish_hl = { + defaults = { + NormalFloat = { bg = M.base_30.black }, + FloatBorder = { fg = M.base_30.purple }, + PmenuSel = { bg = M.base_30.purple }, + CursorLine = { bg = M.base_30.black }, + CursorLineNr = { fg = M.base_30.yellow, bold = true }, + LineNr = { fg = M.base_30.dark_purple }, + MatchWord = { bg = M.base_30.black2, fg = "NONE" }, + MatchBackground = { link = "MatchWord" }, + Visual = { bg = M.base_30.black2 }, + }, + cmp = { + CmpBorder = { fg = M.base_30.purple }, + }, + blankline = { + IblScopeChar = { fg = M.base_30.black2, bold = false }, + }, + neogit = { + NeogitDiffContextCursor = { bg = M.base_30.light_grey }, + NeogitDiffContextHighlight = { bg = "NONE" }, + NeogitDiffContext = { bg = "NONE" }, + }, + statusline = { + StText = { fg = M.base_30.grey_fg }, + St_NormalMode = { bg = M.base_30.blue, fg = M.base_30.black }, + St_InsertMode = { bg = M.base_30.purple, fg = M.base_30.black }, + St_cwd = { bg = M.base_30.yellow, fg = M.base_30.black }, + St_CommandMode = { bg = M.base_30.black, reverse = true }, + St_ConfirmMode = { bg = M.base_30.black, reverse = true }, + St_SelectMode = { bg = M.base_30.black, reverse = true }, + St_VisualMode = { bg = M.base_30.black, reverse = true }, + St_ReplaceMode = { bg = M.base_30.black, reverse = true }, + St_TerminalMode = { bg = M.base_30.black, reverse = true }, + St_NTerminalMode = { bg = M.base_30.black, reverse = true }, + }, + tbline = { + TbBufOn = { fg = M.base_30.green }, + TbBufOnClose = { fg = M.base_30.baby_pink }, + TbBufOff = { fg = M.base_30.nord_blue }, + TbTabOn = { fg = M.base_30.baby_pink }, + TbCloseAllBufsBtn = { bg = M.base_30.pink, fg = M.base_30.black }, + TbTabTitle = { fg = M.base_30.white, bg = M.base_30.blue }, + }, + telescope = { + TelescopeBorder = { fg = M.base_30.purple }, + TelescopePromptBorder = { fg = M.base_30.purple }, + TelescopeSelection = { bg = M.base_30.black, fg = M.base_30.white }, + }, + treesitter = { + Include = { fg = M.base_30.green }, + Boolean = { fg = M.base_30.red }, + Comment = { fg = M.base_30.dark_purple }, + Type = { fg = M.base_30.cyan }, + ["@variable.member"] = { fg = M.base_30.baby_pink }, + ["@variable.parameter"] = { fg = M.base_30.purple }, + ["@punctuation.delimiter"] = { fg = M.base_30.grey }, + ["@function.builtin"] = { fg = M.base_30.cyan }, + ["@punctuation.bracket"] = { fg = M.base_30.grey }, + ["@tag.delimiter"] = { fg = M.base_30.grey }, + ["@constructor"] = { fg = M.base_30.grey }, + ["Function"] = { fg = M.base_30.baby_pink }, + ["@function"] = { fg = M.base_30.baby_pink }, + ["@function.call"] = { fg = M.base_30.baby_pink }, + ["@function.method.call"] = { fg = M.base_30.baby_pink }, + ["@function.macro"] = { fg = M.base_30.purple }, + ["@keyword"] = { fg = M.base_30.green }, + ["@keyword.import"] = { fg = M.base_30.green }, + ["@keyword.storage"] = { fg = M.base_30.green }, + ["@keyword.directive"] = { fg = M.base_30.green }, + ["@keyword.conditional"] = { fg = M.base_30.green }, + ["@keyword.function"] = { fg = M.base_30.green }, + ["@keyword.repeat"] = { fg = M.base_30.green }, + ["@keyword.return"] = { fg = M.base_30.green }, + ["@keyword.import.tsx"] = { fg = M.base_30.green }, + ["@property"] = { fg = M.base_30.purple }, + ["@operator"] = { fg = M.base_30.cyan }, + ["@constant"] = { fg = M.base_30.purple }, + ["@type.builtin"] = { fg = M.base_30.cyan }, + ["@variable"] = { fg = M.base_30.purple }, + ["Special"] = { fg = M.base_30.purple }, + ["SpecialChar"] = { fg = M.base_30.baby_pink }, + ["@tag"] = { fg = M.base_30.cyan }, + ["@attribute"] = { fg = M.base_30.baby_pink }, + ["@comment"] = { fg = M.base_30.dark_purple }, + }, +} + +M.type = "dark" + +M = require("base46").override_theme(M, "eldritch") + +return M