85 lines
2.4 KiB
Lua
85 lines
2.4 KiB
Lua
local colors = require("astrobox.colors")
|
|
|
|
return function(config)
|
|
local vimbg = vim.o.background
|
|
local dark = vimbg == "dark"
|
|
local vimbg_reversed = dark and "light" or "dark"
|
|
|
|
-- Build base colors
|
|
local base = {
|
|
none = "",
|
|
fg = colors.grayscale[vimbg_reversed][1],
|
|
bg = colors.bg[vimbg][config.contrast],
|
|
|
|
harder_bg = colors.bg.harder[vimbg][config.contrast],
|
|
softer_bg = colors.bg.softer[vimbg][config.contrast],
|
|
|
|
bg_gradiant = colors.grayscale[vimbg],
|
|
fg_gradiant = colors.grayscale[vimbg_reversed],
|
|
|
|
colored_backgrounds = colors.colored_backgrounds[vimbg][config.contrast],
|
|
|
|
gray = colors.gray, -- TODO Rémy Only for comments? Won't look good in light mode
|
|
}
|
|
-- Append colors
|
|
local palette = vim.tbl_extend("error", base, colors.colors[vimbg])
|
|
|
|
palette.ui = {
|
|
fg = palette.fg,
|
|
bg = palette.bg_gradiant[1],
|
|
bg_hard = palette.harder_bg,
|
|
fg_inactive = palette.fg_gradiant[4],
|
|
bg_inactive = palette.bg_gradiant[2],
|
|
float = {
|
|
title = palette.green,
|
|
title2 = palette.aqua,
|
|
border = palette.fg_gradiant[2],
|
|
text = palette.fg_gradiant[1],
|
|
scroll = palette.blue,
|
|
},
|
|
winbar = {
|
|
fg = palette.fg_gradiant[1],
|
|
bg = palette.harder_bg,
|
|
fg_inactive = palette.bg_gradiant[3],
|
|
bg_inactive = palette.harder_bg,
|
|
},
|
|
selection = {
|
|
fg = palette.fg,
|
|
bg = palette.colored_backgrounds.blue,
|
|
},
|
|
win = {
|
|
separator = palette.fg_gradiant[4],
|
|
},
|
|
}
|
|
|
|
palette.other = {
|
|
conceal = palette.bg_gradiant[3],
|
|
hard_bg = palette.harder_bg,
|
|
bg_active = palette.bg_gradiant[1],
|
|
|
|
-- Special HL group to find what a group maps to
|
|
error_hl = { fg = "#000000", bg = "#FF00FF" },
|
|
}
|
|
|
|
palette.term_colors = {
|
|
palette.bg,
|
|
colors.term_colors.red,
|
|
colors.term_colors.green,
|
|
colors.term_colors.yellow,
|
|
colors.term_colors.blue,
|
|
colors.term_colors.purple,
|
|
colors.term_colors.aqua,
|
|
palette.fg_gradiant[4],
|
|
palette.gray,
|
|
colors.colors.red,
|
|
colors.colors.green,
|
|
colors.colors.yellow,
|
|
colors.colors.blue,
|
|
colors.colors.purple,
|
|
colors.colors.aqua,
|
|
palette.fg,
|
|
}
|
|
|
|
return palette
|
|
end
|