siduck 4 years ago
parent fb9d86d9cd
commit 1f1ca85c29

@ -0,0 +1,87 @@
local M = {}
M.get_colors = function(type)
local name
if vim.g.nvchad_theme then
name = vim.g.nvchad_theme
else
name = require("core.utils").load_config().ui.theme
vim.g.nvchad_theme = name
end
-- theme paths
local default_path = "hl_themes." .. name
local user_path = "custom.themes." .. name
local present1, default_theme = pcall(require, default_path)
local present2, user_theme = pcall(require, user_path)
if present1 then
return default_theme[type]
elseif present2 then
return user_theme[type]
else
error "No such theme bruh >_< "
end
end
M.merge_tb = function(table1, table2)
return vim.tbl_deep_extend("force", table1, table2)
end
M.load_theme = function()
-- clear highlights of bufferline (cuz of dynamic devicons hl group on the buffer)
local highlights_raw = vim.split(vim.api.nvim_exec("filter BufferLine hi", true), "\n")
local highlight_groups = {}
for _, raw_hi in ipairs(highlights_raw) do
table.insert(highlight_groups, string.match(raw_hi, "BufferLine%a+"))
end
for _, highlight in ipairs(highlight_groups) do
vim.cmd([[hi clear ]] .. highlight)
end
-- above highlights clear code by https://github.com/max397574
-- reload highlights for theme switcher
require("plenary.reload").reload_module "integrations"
require("plenary.reload").reload_module "chadlights"
require "chadlights"
end
M.override_theme = function(default_theme, theme_name)
local changed_themes = require("core.utils").load_config().ui.changed_themes
if changed_themes[theme_name] then
return M.merge_tb(default_theme, changed_themes[theme_name])
else
return default_theme
end
end
M.toggle_theme = function()
local themes = require("core.utils").load_config().ui.theme_toggle
local theme1 = themes[1]
local theme2 = themes[2]
if vim.g.nvchad_theme == theme1 then
vim.g.toggle_theme_icon = ""
vim.g.nvchad_theme = theme2
require("nvchad").reload_theme()
require("nvchad").change_theme(theme1, theme2)
elseif vim.g.nvchad_theme == theme2 then
vim.g.toggle_theme_icon = ""
vim.g.nvchad_theme = theme1
require("nvchad").reload_theme()
require("nvchad").change_theme(theme2, theme1)
else
vim.notify "Set your current theme to one of those mentioned in the theme_toggle table (chadrc)"
end
end
return M

@ -1,6 +1,6 @@
-- returns a huge table of all highlight groups & their colors
local merge_tb = require("base16").merge_tb
local merge_tb = require("base46").merge_tb
local highlights = {}
local hl_dir = vim.fn.stdpath "data" .. "/site/pack/packer/opt/base46/lua/integrations"

@ -53,6 +53,6 @@ M.base_16 = {
base0F = "#eAc1c1",
}
M = require("base16").override_theme(M, "aquarium")
M = require("base46").override_theme(M, "aquarium")
return M

@ -53,6 +53,6 @@ M.base_16 = {
base0F = "#887c76",
}
M = require("base16").override_theme(M, "blossom")
M = require("base46").override_theme(M, "blossom")
return M

@ -53,6 +53,6 @@ M.base_16 = {
base0F = "#E8A2AF",
}
M = require("base16").override_theme(M, "catppuccin")
M = require("base46").override_theme(M, "catppuccin")
return M

@ -53,6 +53,6 @@ M.base_16 = {
base0F = "#f7f7fb",
}
M = require("base16").override_theme(M, "chadracula")
M = require("base46").override_theme(M, "chadracula")
return M

@ -53,6 +53,6 @@ M.base_16 = {
base0F = "#8b6567",
}
M = require("base16").override_theme(M, "chadtain")
M = require("base46").override_theme(M, "chadtain")
return M

@ -53,6 +53,6 @@ M.base_16 = {
base0F = "#c85a50",
}
M = require("base16").override_theme(M, "doomchad")
M = require("base46").override_theme(M, "doomchad")
return M

@ -53,6 +53,6 @@ M.base_16 = {
base0F = "#d699b6",
}
M = require("base16").override_theme(M, "everforest")
M = require("base46").override_theme(M, "everforest")
return M

@ -53,6 +53,6 @@ M.base_16 = {
base0F = "#d65d0e",
}
M = require("base16").override_theme(M, "gruvbox")
M = require("base46").override_theme(M, "gruvbox")
return M

@ -53,6 +53,6 @@ M.base_16 = {
base06 = "#c3b499",
}
M = require("base16").override_theme(M, "gruvchad")
M = require("base46").override_theme(M, "gruvchad")
return M

@ -53,6 +53,6 @@ M.base_16 = {
base06 = "#d3d9e4",
}
M = require("base16").override_theme(M, "javacafe")
M = require("base46").override_theme(M, "javacafe")
return M

@ -53,6 +53,6 @@ M.base_16 = {
base0F = "#cf6a4c",
}
M = require("base16").override_theme(M, "jellybeans")
M = require("base46").override_theme(M, "jellybeans")
return M

@ -53,6 +53,6 @@ M.base_16 = {
base0F = "#d27e99",
}
M = require("base16").override_theme(M, "kanagawa")
M = require("base46").override_theme(M, "kanagawa")
return M

@ -53,6 +53,6 @@ M.base_16 = {
base0F = "#bbc2cf",
}
M = require("base16").override_theme(M, "monekai")
M = require("base46").override_theme(M, "monekai")
return M

@ -53,6 +53,6 @@ M.base_16 = {
base0F = "#9d9a7b",
}
M = require("base16").override_theme(M, "mountain")
M = require("base46").override_theme(M, "mountain")
return M

@ -53,6 +53,6 @@ M.base_16 = {
base0F = "#d0d0c7",
}
M = require("base16").override_theme(M, "nightlamp")
M = require("base46").override_theme(M, "nightlamp")
return M

@ -53,6 +53,6 @@ M.base_16 = {
base0F = "#d6deeb", -- Deprecated, Opening/Closing Embedded Language Tags, e.g. <?php ?>
}
M = require("base16").override_theme(M, "nightowl")
M = require("base46").override_theme(M, "nightowl")
return M

@ -53,6 +53,6 @@ M.base_16 = {
base0F = "#B48EAD",
}
M = require("base16").override_theme(M, "nord")
M = require("base46").override_theme(M, "nord")
return M

@ -53,6 +53,6 @@ M.base_16 = {
base0F = "#986801",
}
M = require("base16").override_theme(M, "one_light")
M = require("base46").override_theme(M, "one_light")
return M

@ -53,6 +53,6 @@ M.base_16 = {
base0F = "#be5046",
}
M = require("base16").override_theme(M, "onedark")
M = require("base46").override_theme(M, "onedark")
return M

@ -53,6 +53,6 @@ M.base_16 = {
base06 = "#c7cdd8",
}
M = require("base16").override_theme(M, "onenord")
M = require("base46").override_theme(M, "onenord")
return M

@ -53,6 +53,6 @@ M.base_16 = {
base0F = "#ff5370",
}
M = require("base16").override_theme(M, "palenight")
M = require("base46").override_theme(M, "palenight")
return M

@ -53,6 +53,6 @@ M.base_16 = {
base0F = "#d33682",
}
M = require("base16").override_theme(M, "solarized")
M = require("base46").override_theme(M, "solarized")
return M

@ -53,6 +53,6 @@ M.base_16 = {
base0F = "#f3627a",
}
M = require("base16").override_theme(M, "tokyodark")
M = require("base46").override_theme(M, "tokyodark")
return M

@ -53,6 +53,6 @@ M.base_16 = {
base06 = "#e0e0e0",
}
M = require("base16").override_theme(M, "tomorrow_night")
M = require("base46").override_theme(M, "tomorrow_night")
return M

@ -53,6 +53,6 @@ M.base_16 = {
base0F = "#dc8c64",
}
M = require("base16").override_theme(M, "wombat")
M = require("base46").override_theme(M, "wombat")
return M

@ -1,4 +1,4 @@
local colors = require("base16").get_colors "base_30"
local colors = require("base46").get_colors "base_30"
return {
@ -100,4 +100,26 @@ return {
BufferLineDevIconDefaultSelected = {
bg = "NONE",
},
BufferLineDuplicate = {
fg = "NONE",
bg = colors.black2,
},
BufferLineDuplicateSelected = {
fg = colors.red,
bg = colors.black,
},
BufferLineDuplicateVisible = {
fg = colors.blue,
bg = colors.black2,
},
-- custom area
BufferLineRightCustomAreaText1 = {
bg = colors.grey,
fg = colors.white,
},
BufferLineRightCustomAreaText2 = {
fg = colors.red,
},
}

@ -1,5 +1,5 @@
local theme = require("base16").get_colors "base_16"
local base_30 = require("base16").get_colors "base_30"
local theme = require("base46").get_colors "base_16"
local base_30 = require("base46").get_colors "base_30"
return {
CmpItemKindConstant = { fg = theme.base09 },

@ -1,4 +1,4 @@
local colors = require("base16").get_colors "base_30"
local colors = require("base46").get_colors "base_30"
return {
DevIconc = { bg = "NONE", fg = colors.blue },

@ -1,4 +1,4 @@
local theme = require("base16").get_colors "base_16"
local theme = require("base46").get_colors "base_16"
return {

@ -1,4 +1,4 @@
local theme = require("base16").get_colors "base_16"
local theme = require("base46").get_colors "base_16"
return {
mailQuoted1 = {

@ -1,4 +1,4 @@
local theme = require("base16").get_colors "base_16"
local theme = require("base46").get_colors "base_16"
return {
Normal = {

@ -1,4 +1,4 @@
local colors = require("base16").get_colors "base_30"
local colors = require("base46").get_colors "base_30"
local ui = require("core.utils").load_config().ui
local black = colors.black

@ -1,4 +1,4 @@
local theme = require("base16").get_colors "base_16"
local theme = require("base46").get_colors "base_16"
-- Standard syntax highlighting

@ -1,4 +1,4 @@
local theme = require("base16").get_colors "base_16"
local theme = require("base46").get_colors "base_16"
return {
TSAnnotation = {

Loading…
Cancel
Save