/vivid

A generator for LS_COLORS with support for multiple color themes

Primary LanguageRustApache License 2.0Apache-2.0

vivid

vivid is a generator for the LS_COLORS environment variable that controls the colorized output of ls, tree, fd, etc.

It uses a YAML-based configuration format for the filetype-database and the color themes. In contrast to dircolors, the database and the themes are organized in different files. This allows users to choose and customize color themes independent from the collection of file extensions. Instead of using (cryptic) ANSI escape codes, colors can be specified in the RRGGBB format and will be translated to either truecolor (24-bit) ANSI codes or 8-bit codes for older terminal emulators.

Preview

snazzy molokai ayu
snazzy theme molokai theme ayu theme

Usage

Choose a color theme (for example: molokai). Then, add this to your shells RC file (~/.bashrc, ~/.zshrc, …):

export LS_COLORS="$(vivid generate molokai)"

True color

By default, vivid runs in true color mode (24-bit). If you don't use a terminal that supports 24-bit colors, use the --color-mode 8-bit option when running vivid (vivid -m 8-bit generate molokai). This will use interpolated 8-bit colors.

Customization

Custom filetypes.yml databases can be placed in /usr/share/vivid, $HOME/.config/vivid, or $XDG_CONFIG_PATH/vivid on POSIX systems, or in %APPDATA%\vivid on Windows systems.

Custom color themes go into a themes subfolder, respectively. You can also specify an explicit path to your custom theme: vivid generate path/to/my_theme.yml. As a starting point, you can use one of the bundled themes.

Installation

Build Status

Via cargo

If you have Rust 1.40 or higher, you can install vivid from source cargo:

cargo install vivid

On Debian-based systems

Download one of the Debian packages from the release page and install it via dpkg -i:

wget "https://github.com/sharkdp/vivid/releases/download/v0.6.0/vivid_0.6.0_amd64.deb"
sudo dpkg -i vivid_0.6.0_amd64.deb

On Arch Linux

You can install vivid from the official package repository:

pacman -S vivid

On other distributions

Check out the release page for binary builds.

License

Licensed under either of

at your option.

Useful sources

File types:

ANSI colors:

Similar and related projects