finds.dev← search

// the find

sharkdp/vivid

★ 2,241 · Rust · Apache-2.0 · updated May 2026

A themeable LS_COLORS generator with a rich filetype datebase

vivid generates the LS_COLORS environment variable from a YAML filetype database and separate color theme files, replacing dircolors. It ships 30+ themes covering most popular terminal colorschemes and handles the truecolor-to-8bit fallback automatically. For anyone who has ever stared at a dircolors config trying to decode ANSI escape codes, this solves that problem cleanly.

Separation of filetype database and theme files is the right design — you can update one without touching the other. The bundled theme collection is genuinely wide: Catppuccin, Tokyo Night, Gruvbox (all variants), Rose Pine, nord, dracula — if your terminal has a theme, vivid probably has a match. The ansi theme that mirrors your terminal's 16-color palette is a smart addition for people who switch between light and dark mode. Coming from sharkdp (same author as fd, bat, hyperfine), the filetype database is thorough rather than minimal.

This is a CLI tool with a narrow job, and it does that job well, but the filetypes.yml database will always lag behind new ecosystems — any config file format invented in the last year or two is probably not there yet. The YAML theme format has no real documentation beyond examples; figuring out what color keys are valid requires reading the source. At 2241 stars it's not obscure, but it's also not the kind of thing that drives ongoing development — commit velocity is low and issues sit open for long stretches. Windows support exists in theory (AppData config path is respected) but LS_COLORS is only relevant on POSIX shells, so Windows users get nothing practical from this.

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 →