#terminal-colors #env-var #environment #variables #color #detect #give

supports-color

Detects whether a terminal supports color, and gives details about that support

15 stable releases

3.0.2 Nov 26, 2024
3.0.1 Sep 4, 2024
3.0.0 Feb 4, 2024
2.1.0 Sep 20, 2023
1.1.1 Sep 22, 2021

#36 in Command-line interface

Download history 140497/week @ 2024-08-20 142023/week @ 2024-08-27 157295/week @ 2024-09-03 158820/week @ 2024-09-10 148595/week @ 2024-09-17 172128/week @ 2024-09-24 159042/week @ 2024-10-01 136595/week @ 2024-10-08 144675/week @ 2024-10-15 147988/week @ 2024-10-22 149922/week @ 2024-10-29 151815/week @ 2024-11-05 166649/week @ 2024-11-12 180324/week @ 2024-11-19 176716/week @ 2024-11-26 193216/week @ 2024-12-03

744,219 downloads per month
Used in 336 crates (50 directly)

Apache-2.0

11KB
193 lines

Detects whether a terminal supports color, and gives details about that support. It takes into account the NO_COLOR environment variable.

This crate is a Rust port of @sindresorhus' NPM package by the same name.

Example

use supports_color::Stream;

if let Some(support) = supports_color::on(Stream::Stdout) {
    if support.has_16m {
        println!("16 million (RGB) colors are supported");
    } else if support.has_256 {
        println!("256 colors are supported.");
    } else if support.has_basic {
        println!("Only basic ANSI colors are supported.");
    }
} else {
    println!("No color support.");
}

lib.rs:

Detects whether a terminal supports color, and gives details about that support. It takes into account the NO_COLOR environment variable.

This crate is a Rust port of @sindresorhus' NPM package by the same name.

Example

use supports_color::Stream;

if let Some(support) = supports_color::on(Stream::Stdout) {
    if support.has_16m {
        println!("16 million (RGB) colors are supported");
    } else if support.has_256 {
        println!("256-bit colors are supported.");
    } else if support.has_basic {
        println!("Only basic ANSI colors are supported.");
    }
} else {
    println!("No color support.");
}

Dependencies