// the find
tjdevries/colorbuddy.nvim
Your color buddy for making cool neovim color schemes
colorbuddy.nvim is a Lua library for building Neovim colorschemes by defining colors and highlight groups as composable objects instead of raw strings. It's for people writing or maintaining a colorscheme, not for end users who just want a theme.
Colors and groups are real objects that support operations like :light(), :dark(), and arithmetic on styles (styles.bold + styles.italic), which makes deriving variants far less repetitive than copy-pasting hex codes. Groups can inherit from other groups (Group.new('luaFunctionCall', groups.Function, ...)) so a palette change propagates without touching every highlight definition. It has an actual test suite (lua/tests/*_spec.lua) covering colors, groups, modifiers, and hex parsing, which is more than most colorscheme tooling bothers with.
Last push was May 2024 and the repo sits at 784 stars with no recent activity — this is effectively unmaintained, so don't expect fixes for new Neovim highlight groups or breaking API changes. The README leans on one example and a wiki link for real-world usage instead of documenting the actual API surface (modifiers, style composition, plugin group definitions) inline. TODO.txt and BREAKING.md sitting in the repo root instead of resolved issues or a changelog suggests known rough edges were never fully closed out. It's an abstraction layer for something (writing a colorscheme) that plenty of people do successfully with a single Lua table and vim.api.nvim_set_hl, so the value only shows up if you're maintaining several themes or want programmatic color relationships.