diff --git a/lua/cozybox/light.lua b/lua/cozybox/light.lua index 906a332..72f776f 100644 --- a/lua/cozybox/light.lua +++ b/lua/cozybox/light.lua @@ -4,30 +4,52 @@ local selection = "#c3c7c9" return { contrast = "hard", + palette_overrides = { + bright_red = "#923f3a", + bright_green = "#2b4024", + bright_yellow = "#412e05", + bright_blue = "#4261a5", + bright_purple = "#6f4450", + bright_aqua = "#31452a", + bright_orange = "#793a06", + neutral_red = "#f42d25", + neutral_green = "#5c5b0c", + neutral_yellow = "#634409", + neutral_blue = "#3c7678", + neutral_purple = "#9d5677", + neutral_aqua = "#3f6241", + neutral_orange = "#ab4909", + dark_red = "#ff717b", + dark_green = "#7f8852", + dark_aqua = "#98a57d", + dark_red_hard = "#ff6675", + dark_green_hard = "#849057", + dark_aqua_hard = "#9ab284", + }, overrides = { - MatchParen = { bold = true, underline = true, fg = "#d8a657", bg = selection }, + MatchParen = { bold = true, underline = true, fg = "#543f1d", bg = selection }, Normal = { bg = background }, NormalFloat = { bg = background }, SignColumn = { bg = background }, StatusLine = { bg = background }, StatusLineNC = { bg = background }, - GitSignsAdd = { fg = "#a9b665", bg = background }, - GitSignsChange = { fg = "#d8a657", bg = background }, - GitSignsDelete = { fg = "#ea6962", bg = background }, - GitSignsTopdelete = { fg = "#ea6962", bg = background }, - GitSignsChangedelete = { fg = "#d8a657", bg = background }, - GitSignsUntracked = { fg = "#7daea3", bg = background }, - GitSignsStagedAdd = { fg = "#6c7842", bg = background }, - GitSignsStagedChange = { fg = "#8a6d39", bg = background }, - GitSignsStagedDelete = { fg = "#94433f", bg = background }, - GitSignsStagedTopdelete = { fg = "#94433f", bg = background }, - GitSignsStagedChangedelete = { fg = "#8a6d39", bg = background }, + GitSignsAdd = { fg = "#404523", bg = background }, + GitSignsChange = { fg = "#543f1d", bg = background }, + GitSignsDelete = { fg = "#923f3a", bg = background }, + GitSignsTopdelete = { fg = "#923f3a", bg = background }, + GitSignsChangedelete = { fg = "#543f1d", bg = background }, + GitSignsUntracked = { fg = "#374f4a", bg = background }, + GitSignsStagedAdd = { fg = "#6e7b44", bg = background }, + GitSignsStagedChange = { fg = "#90723c", bg = background }, + GitSignsStagedDelete = { fg = "#e16963", bg = background }, + GitSignsStagedTopdelete = { fg = "#e16963", bg = background }, + GitSignsStagedChangedelete = { fg = "#90723c", bg = background }, LineNr = { bg = background }, CursorLineNr = { bg = background }, CursorLine = { bg = surface }, FoldColumn = { bg = background }, - DiffAdd = { bg = "#1e2718" }, - DiffChange = { bg = "#1e1e18" }, - DiffDelete = { bg = "#2a1818" }, + DiffAdd = { bg = "#bbe5a0" }, + DiffChange = { bg = "#e3e3c2" }, + DiffDelete = { bg = "#ffc7c7" }, }, } diff --git a/tests/cozybox/cozybox_spec.lua b/tests/cozybox/cozybox_spec.lua index 0cfd1ba..855bf94 100644 --- a/tests/cozybox/cozybox_spec.lua +++ b/tests/cozybox/cozybox_spec.lua @@ -180,28 +180,10 @@ describe("tests", function() assert.are.same(vim.g.colors_name, "cozybox-light") end) - it("keeps accent highlights consistent across dark and light themes", function() - cozybox.setup() - vim.opt.background = "dark" - cozybox.load() - - local dark = { - red = highlight_attr("CozyboxRed", "fg"), - green = highlight_attr("CozyboxGreen", "fg"), - yellow = highlight_attr("CozyboxYellow", "fg"), - blue = highlight_attr("CozyboxBlue", "fg"), - purple = highlight_attr("CozyboxPurple", "fg"), - aqua = highlight_attr("CozyboxAqua", "fg"), - orange = highlight_attr("CozyboxOrange", "fg"), - string = highlight_attr("String", "fg"), - git_add = highlight_attr("GitSignsAdd", "fg"), - git_change = highlight_attr("GitSignsChange", "fg"), - git_delete = highlight_attr("GitSignsDelete", "fg"), - git_untracked = highlight_attr("GitSignsUntracked", "fg"), - diff_add = highlight_attr("DiffAdd", "bg"), - diff_change = highlight_attr("DiffChange", "bg"), - diff_delete = highlight_attr("DiffDelete", "bg"), - } + it("uses the computed light contrast palette", function() + package.loaded["cozybox"] = nil + package.loaded["cozybox.light"] = nil + cozybox = require("cozybox") cozybox.setup(require("cozybox.light")) vim.opt.background = "light" @@ -226,21 +208,21 @@ describe("tests", function() normal_bg = highlight_attr("Normal", "bg"), } - assert.are.same(dark.red, light.red) - assert.are.same(dark.green, light.green) - assert.are.same(dark.yellow, light.yellow) - assert.are.same(dark.blue, light.blue) - assert.are.same(dark.purple, light.purple) - assert.are.same(dark.aqua, light.aqua) - assert.are.same(dark.orange, light.orange) - assert.are.same(dark.string, light.string) - assert.are.same(dark.git_add, light.git_add) - assert.are.same(dark.git_change, light.git_change) - assert.are.same(dark.git_delete, light.git_delete) - assert.are.same(dark.git_untracked, light.git_untracked) - assert.are.same(dark.diff_add, light.diff_add) - assert.are.same(dark.diff_change, light.diff_change) - assert.are.same(dark.diff_delete, light.diff_delete) + assert.are.same(light.red, "#923f3a") + assert.are.same(light.green, "#2b4024") + assert.are.same(light.yellow, "#412e05") + assert.are.same(light.blue, "#4261a5") + assert.are.same(light.purple, "#6f4450") + assert.are.same(light.aqua, "#31452a") + assert.are.same(light.orange, "#793a06") + assert.are.same(light.string, "#2b4024") + assert.are.same(light.git_add, "#404523") + assert.are.same(light.git_change, "#543f1d") + assert.are.same(light.git_delete, "#923f3a") + assert.are.same(light.git_untracked, "#374f4a") + assert.are.same(light.diff_add, "#bbe5a0") + assert.are.same(light.diff_change, "#e3e3c2") + assert.are.same(light.diff_delete, "#ffc7c7") assert.are.same(light.normal_bg, "#e7e7e7") assert.are.same(vim.g.colors_name, "cozybox-light") end)