#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 164299/week @ 2024-09-27 149151/week @ 2024-10-04 136788/week @ 2024-10-11 148693/week @ 2024-10-18 147581/week @ 2024-10-25 150328/week @ 2024-11-01 166160/week @ 2024-11-08 167833/week @ 2024-11-15 179224/week @ 2024-11-22 188359/week @ 2024-11-29 196433/week @ 2024-12-06 186364/week @ 2024-12-13 135788/week @ 2024-12-20 113036/week @ 2024-12-27 161638/week @ 2025-01-03 155495/week @ 2025-01-10

597,274 downloads per month
Used in 349 crates (51 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