finds.dev← search

// the find

tjdevries/colorbuddy.nvim

★ 784 · Lua · MIT · updated May 2024

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.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →