#ansi-term #terminal-colors #ansi #ansi-colors #color #terminal

ansi-str

A library which provides a set of methods to work with ANSI strings

11 releases (7 breaking)

0.8.0 Jun 2, 2023
0.7.2 Nov 29, 2022
0.6.0 Nov 28, 2022
0.3.0 Jul 19, 2022
0.1.1 Jan 31, 2022

#285 in Command-line interface

Download history 13712/week @ 2024-07-25 12075/week @ 2024-08-01 12385/week @ 2024-08-08 11268/week @ 2024-08-15 11748/week @ 2024-08-22 11799/week @ 2024-08-29 12094/week @ 2024-09-05 10721/week @ 2024-09-12 11478/week @ 2024-09-19 13183/week @ 2024-09-26 14050/week @ 2024-10-03 13367/week @ 2024-10-10 15782/week @ 2024-10-17 14641/week @ 2024-10-24 14310/week @ 2024-10-31 14994/week @ 2024-11-07

62,458 downloads per month
Used in 122 crates (5 directly)

MIT license

105KB
2K SLoC

ansi-str Build Status codecov Crate docs.rs

This is a library provides a set of methods to work with strings escaped with ansi code sequences.

It's an agnostic library in regard to different color libraries. Therefore it can be used with any library (e.g. owo-colors, nu-ansi-term).

Usage

use ansi_str::AnsiStr;
use owo_colors::{colors::*, OwoColorize};

pub fn main() {
    let text = "When the night has come"
        .fg::<Red>()
        .bg::<Cyan>()
        .bold()
        .to_string();

    let cut = text.ansi_get(5..).expect("ansi_get mustn't fail");

    println!("{}", text);
    println!("{}", cut);
}

Running this code will result in the following output.

image

For more examples, you check out the examples directory.

Note

The library has derivatived from zhiburt/ansi-cut

Dependencies

~1.5MB
~24K SLoC