Crate catppuccin

Source
Expand description

🦀 Soothing pastel theme for Rust.

§Usage

Add Catppuccin to your project’s Cargo.toml:

$ cargo add catppuccin

§Example

struct Button {
    text: String,
    background_color: String,
};

fn confirm(text: String) -> Button {
    Button {
        text,
        background_color: catppuccin::PALETTE.mocha.colors.green.hex.to_string(),
    }
}

More examples can be found here.

§Optional Features

§ANSI string painting

Enable the ansi-term feature to add the Color::ansi_paint method. This adds ansi-term as a dependency.

Example: examples/term_grid.rs

§CSS colors

Enable the css-colors feature to enable the conversion of Catppuccin colors to [css_colors::RGB] instances. This adds css-colors as a dependency.

Example: examples/css.rs

§Ratatui

Enable the ratatui feature to enable the conversion of Catppuccin colors to [ratatui::style::Color] instances. This adds ratatui as a dependency.

Example: examples/ratatui.rs

§Serde

Enable the serde feature to enable the serialization of Catppuccin’s palette, flavor, and color types. This adds serde as a dependency.

Example: examples/serde.rs

Structs§

AnsiColor
A single ANSI color.
AnsiColorIterator
An iterator over the ANSI colors in a flavor.
AnsiColorPair
A pair of ANSI colors - normal and bright.
AnsiColorPairsIterator
An iterator over the ANSI color pairs in a flavor. Obtained via FlavorAnsiColorPairs::into_iter() or FlavorAnsiColorPairs::iter().
Color
A single color in the Catppuccin palette.
ColorIterator
An iterator over colors in a flavor. Obtained via Flavor::into_iter() or FlavorColors::iter().
Flavor
A flavor is a collection of colors. Catppuccin has four flavors; Latte, Frappé, Macchiato, and Mocha.
FlavorAnsiColorPairs
All of the ANSI color pairs for a particular flavor of Catppuccin.
FlavorAnsiColors
All of the ANSI colors for a particular flavor of Catppuccin. Obtained via Flavor::ansi_colors.
FlavorColors
All of the colors for a particular flavor of Catppuccin. Obtained via Flavor::colors.
FlavorIterator
An iterator over flavors in the palette. Obtained via Palette::iter().
Hex
Color represented as 6-digit hexadecimal.
Hsl
Color represented as individual hue (0-359), saturation (0-1), and lightness (0-1) channels.
Palette
The top-level type that encompasses the Catppuccin palette data structure. Primarily used via the PALETTE constant.
ParseColorNameError
Error type for parsing a ColorName from a string.
ParseFlavorNameError
Error type for parsing a FlavorName from a string.
Rgb
Color represented as individual red, green, and blue channels.

Enums§

AnsiColorName
Enum of all named ANSI colors. Can be used to index into a FlavorAnsiColors
AnsiColorPairName
Enum of all ANSI color pairs. Can be used to index into a FlavorAnsiColorPairs.
ColorName
Enum of all named Catppuccin colors. Can be used to index into a FlavorColors.
FlavorName
Enum of all four flavors of Catppuccin. Can be used to index Palette.

Constants§

PALETTE
The Catppuccin palette. This constant will generally be your entrypoint into using the crate.