#ansi #ansi-term #color #terminal #cli

ansi-str-forked

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

1 unstable release

0.8.0 Aug 23, 2024

#716 in Command-line interface

MIT license

110KB
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