#terminal-colors #color #text-color

efcl

The most simple, small, and fast terminal color text library

4 releases

0.1.3 Sep 30, 2024
0.1.2 Mar 9, 2023
0.1.1 Nov 12, 2022
0.1.0 Nov 11, 2022

#227 in Command-line interface

22 downloads per month

MIT license

6KB
55 lines

Efficiency First Color Library (EFCL)

Rust Crates Version Downloads GitHub code size in bytes

The most simple, small, and fast terminal color text library.

Priorities

  • Runtime speed
  • Dependency size

Quickstart

efcl = "0.1.2"
use efcl::{color, Color, bold};

fn main() {
    println!("Hello, {}!", color!(Color::BLUE, "world"));

    println!("{}!", bold!(&color!(Color::RED, "EFCL").to_string()));
}

Why?

Here is a flamegraph of the auto-clock-speed project. In green is the time it takes for colored text to render. That is just over 9% of runtime cpu is taken by color formatting.

image

EFCL

This is way too long for what we need it for. In auto-clock-speed, color is used sparingly and only a few default colors on top of that.

image

This library is for the most basic text coloring for the terminal and only includes the default terminal colors, no background color or text styles other than bold. This library is for speed.

No runtime deps