strip-ansi-escapes

Crates.iostrip-ansi-escapes
lib.rsstrip-ansi-escapes
version0.2.0
sourcesrc
created_at2018-02-02 12:01:08.543896
updated_at2023-08-09 16:49:22.988932
descriptionStrip ANSI escape sequences from byte streams.
homepagehttps://github.com/luser/strip-ansi-escapes
repositoryhttps://github.com/luser/strip-ansi-escapes
max_upload_size
id49341
size24,701
Ted Mielczarek (luser)

documentation

https://docs.rs/strip-ansi-escapes

README

Continuous integration crates.io

A crate for stripping ANSI escape sequences from byte sequences.

This can be used to take output from a program that includes escape sequences and write it somewhere that does not easily support them, such as a log file.

Examples

The strip function accepts bytes and returns a Vec of bytes with ANSI escape sequences removed.

extern crate strip_ansi_escapes;

use std::io::{self, Write};

fn work() -> io::Result<()> {
  let bytes_with_colors = b"\x1b[32mfoo\x1b[m bar";
  let plain_bytes = strip_ansi_escapes::strip(&bytes_with_colors);
  io::stdout().write_all(&plain_bytes)?;
  Ok(())
}

fn main() {
    work().unwrap();
}

For writing directly to a writer, the Writer struct may be preferable.

extern crate strip_ansi_escapes;

use std::io::{self, Write};
use strip_ansi_escapes::Writer;

fn work() -> io::Result<()> {
  let bytes_with_colors = b"\x1b[32mfoo\x1b[m bar";
  let mut writer = Writer::new(io::stdout());
  // Only `foo bar` will be written to stdout
  writer.write_all(bytes_with_colors)?;
  Ok(())
}

fn main() {
    work().unwrap();
}

License

Licensed under either of

at your option.

Commit count: 27

cargo fmt