#cli #colors #clicolor #clicolors

clicolors-control

A common utility library to control CLI colorization

2 unstable releases

0.2.0 Jan 16, 2018
0.1.0 Apr 25, 2017

#7 in Command line utilities

Download history 930/week @ 2018-08-20 2441/week @ 2018-08-27 2624/week @ 2018-09-03 2718/week @ 2018-09-10 2179/week @ 2018-09-17 1993/week @ 2018-09-24 1602/week @ 2018-10-01 1835/week @ 2018-10-08 1900/week @ 2018-10-15 2442/week @ 2018-10-22 1746/week @ 2018-10-29 2851/week @ 2018-11-05 1945/week @ 2018-11-12

1,956 downloads per month
Used in 76 crates (1 directly)

MIT license

7KB
97 lines

clicolors-control

A utility library for Rust that acts as a common place to control the colorization for CLI tools.


lib.rs:

This library implements basic clicolor control for other rust libraries. The idea is that other crates can depend on this to have a central source of truth for the colorization of command line applications.

it follows the cli color specification:

  • CLICOLOR != 0: ANSI colors are supported and should be used when the program isn't piped.
  • CLICOLOR == 0: Don't output ANSI color escape codes.
  • CLICOLOR_FORCE != 0: ANSI colors should be enabled no matter what.

Example Usage

extern crate clicolors_control;

pub fn main() {
    if clicolors_control::colors_enabled() {
        println!("\x1b[36mThis is colored text.\x1b[0m");
    } else {
        println!("Someone turned off the colors :()")
    }
}

Controlling Colors

Colors can be turned on and off for the current process with set_colors_enabled.

Windows 10 Console

The default behavior of this crate is to reconfigure the windows console to enable the VT100 emulation when available the first time colors are requested. This will only work on recent Windows 10 versions. This feature can be disabled by removing the default terminal_autoconfig feature.

The terminal can be manually configured for colors by calling configure_terminal()

Dependencies

~612KB