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

supports-color

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

14 stable releases

3.0.1 Sep 4, 2024
3.0.0 Feb 4, 2024
2.1.0 Sep 20, 2023
2.0.0 Dec 16, 2022
1.1.1 Sep 22, 2021

#34 in Command-line interface

Download history 137902/week @ 2024-07-30 136377/week @ 2024-08-06 137596/week @ 2024-08-13 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 151797/week @ 2024-11-05 141163/week @ 2024-11-12

616,325 downloads per month
Used in 331 crates (50 directly)

Apache-2.0

11KB
190 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