mirror of
https://github.com/harivansh-afk/cozybox.nvim.git
synced 2026-04-15 05:02:08 +00:00
light accents
This commit is contained in:
parent
0003b8c754
commit
40366d99e9
4 changed files with 98 additions and 60 deletions
17
README.md
17
README.md
|
|
@ -1,6 +1,6 @@
|
|||
# cozybox.nvim
|
||||
|
||||
Cozybox is a warm, dark Neovim theme with nix-tuned blue and green accents, darker editor surfaces, and syntax overrides baked in.
|
||||
Cozybox is a neo style darker gruvbox with havy blue and green accents, a nicer red, and a clean light mode (for outside).
|
||||
|
||||
## Install
|
||||
|
||||
|
|
@ -15,21 +15,8 @@ Neovim `0.8+`.
|
|||
```vim
|
||||
set background=dark " or light if you want light mode
|
||||
colorscheme cozybox
|
||||
|
||||
" explicit light entrypoint with the same cozybox accent palette
|
||||
colorscheme cozybox-light
|
||||
```
|
||||
|
||||
## Override
|
||||
## Config
|
||||
|
||||
```lua
|
||||
require("cozybox").setup({
|
||||
transparent_mode = false,
|
||||
palette_overrides = {},
|
||||
overrides = {},
|
||||
})
|
||||
vim.cmd("colorscheme cozybox")
|
||||
```
|
||||
|
||||
The theme already defaults to the custom blue/green palette, hard contrast, darker editor surfaces, and syntax highlight tweaks from your nix config.
|
||||
See `:h cozybox.nvim` or `lua/cozybox.lua` for the full option surface.
|
||||
|
|
|
|||
|
|
@ -217,31 +217,32 @@ local function get_colors()
|
|||
fg2 = p.dark2,
|
||||
fg3 = p.dark3,
|
||||
fg4 = p.dark4,
|
||||
red = p.faded_red,
|
||||
green = p.faded_green,
|
||||
yellow = p.faded_yellow,
|
||||
blue = p.faded_blue,
|
||||
purple = p.faded_purple,
|
||||
aqua = p.faded_aqua,
|
||||
orange = p.faded_orange,
|
||||
red = p.bright_red,
|
||||
green = p.bright_green,
|
||||
yellow = p.bright_yellow,
|
||||
blue = p.bright_blue,
|
||||
purple = p.bright_purple,
|
||||
aqua = p.bright_aqua,
|
||||
orange = p.bright_orange,
|
||||
neutral_red = p.neutral_red,
|
||||
neutral_green = p.neutral_green,
|
||||
neutral_yellow = p.neutral_yellow,
|
||||
neutral_blue = p.neutral_blue,
|
||||
neutral_purple = p.neutral_purple,
|
||||
neutral_aqua = p.neutral_aqua,
|
||||
dark_red = p.light_red,
|
||||
dark_green = p.light_green,
|
||||
dark_aqua = p.light_aqua,
|
||||
dark_red = p.dark_red,
|
||||
dark_green = p.dark_green,
|
||||
dark_aqua = p.dark_aqua,
|
||||
gray = p.gray,
|
||||
},
|
||||
}
|
||||
|
||||
if contrast ~= nil and contrast ~= "" then
|
||||
color_groups[bg].bg0 = p[bg .. "0_" .. contrast]
|
||||
color_groups[bg].dark_red = p[bg .. "_red_" .. contrast]
|
||||
color_groups[bg].dark_green = p[bg .. "_green_" .. contrast]
|
||||
color_groups[bg].dark_aqua = p[bg .. "_aqua_" .. contrast]
|
||||
local overlay_bg = bg == "light" and "dark" or bg
|
||||
color_groups[bg].dark_red = p[overlay_bg .. "_red_" .. contrast]
|
||||
color_groups[bg].dark_green = p[overlay_bg .. "_green_" .. contrast]
|
||||
color_groups[bg].dark_aqua = p[overlay_bg .. "_aqua_" .. contrast]
|
||||
end
|
||||
|
||||
return color_groups[bg]
|
||||
|
|
|
|||
|
|
@ -4,26 +4,6 @@ local selection = "#c3c7c9"
|
|||
|
||||
return {
|
||||
contrast = "hard",
|
||||
palette_overrides = {
|
||||
bright_green = "#8ec97c",
|
||||
neutral_green = "#8ec97c",
|
||||
faded_green = "#8ec97c",
|
||||
bright_yellow = "#d8a657",
|
||||
neutral_yellow = "#d8a657",
|
||||
faded_yellow = "#d8a657",
|
||||
bright_blue = "#5b84de",
|
||||
neutral_blue = "#5b84de",
|
||||
faded_blue = "#5b84de",
|
||||
bright_purple = "#d3869b",
|
||||
neutral_purple = "#d3869b",
|
||||
faded_purple = "#d3869b",
|
||||
bright_aqua = "#8ec07c",
|
||||
neutral_aqua = "#8ec07c",
|
||||
faded_aqua = "#8ec07c",
|
||||
bright_orange = "#e78a4e",
|
||||
neutral_orange = "#e78a4e",
|
||||
faded_orange = "#e78a4e",
|
||||
},
|
||||
overrides = {
|
||||
MatchParen = { bold = true, underline = true, fg = "#d8a657", bg = selection },
|
||||
Normal = { bg = background },
|
||||
|
|
@ -31,23 +11,23 @@ return {
|
|||
SignColumn = { bg = background },
|
||||
StatusLine = { bg = background },
|
||||
StatusLineNC = { bg = background },
|
||||
GitSignsAdd = { fg = "#6fae70", bg = background },
|
||||
GitSignsChange = { fg = "#b57614", bg = background },
|
||||
GitSignsAdd = { fg = "#a9b665", bg = background },
|
||||
GitSignsChange = { fg = "#d8a657", bg = background },
|
||||
GitSignsDelete = { fg = "#ea6962", bg = background },
|
||||
GitSignsTopdelete = { fg = "#ea6962", bg = background },
|
||||
GitSignsChangedelete = { fg = "#b57614", bg = background },
|
||||
GitSignsUntracked = { fg = "#5b84de", bg = background },
|
||||
GitSignsStagedAdd = { fg = "#5f8b50", bg = background },
|
||||
GitSignsStagedChange = { fg = "#9d6b0f", bg = background },
|
||||
GitSignsStagedDelete = { fg = "#b85751", bg = background },
|
||||
GitSignsStagedTopdelete = { fg = "#b85751", bg = background },
|
||||
GitSignsStagedChangedelete = { fg = "#9d6b0f", 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 },
|
||||
LineNr = { bg = background },
|
||||
CursorLineNr = { bg = background },
|
||||
CursorLine = { bg = surface },
|
||||
FoldColumn = { bg = background },
|
||||
DiffAdd = { bg = "#d9e8d2" },
|
||||
DiffChange = { bg = "#eee4c7" },
|
||||
DiffDelete = { bg = "#f1d6d2" },
|
||||
DiffAdd = { bg = "#1e2718" },
|
||||
DiffChange = { bg = "#1e1e18" },
|
||||
DiffDelete = { bg = "#2a1818" },
|
||||
},
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,6 +8,11 @@ local function clear_term_colors()
|
|||
end
|
||||
end
|
||||
|
||||
local function highlight_attr(name, attr)
|
||||
local group_id = vim.api.nvim_get_hl_id_by_name(name)
|
||||
return vim.fn.synIDattr(group_id, attr, "gui")
|
||||
end
|
||||
|
||||
describe("tests", function()
|
||||
it("works with default values", function()
|
||||
cozybox.setup()
|
||||
|
|
@ -174,4 +179,69 @@ 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"),
|
||||
}
|
||||
|
||||
cozybox.setup(require("cozybox.light"))
|
||||
vim.opt.background = "light"
|
||||
cozybox.load("cozybox-light")
|
||||
|
||||
local light = {
|
||||
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"),
|
||||
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.normal_bg, "#e7e7e7")
|
||||
assert.are.same(vim.g.colors_name, "cozybox-light")
|
||||
end)
|
||||
end)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue