3 unstable releases
Uses old Rust 2015
0.2.0 | Aug 9, 2023 |
---|---|
0.1.2 |
|
0.1.1 | Aug 24, 2021 |
0.1.0 | Feb 2, 2018 |
#28 in Command-line interface
460,527 downloads per month
Used in 519 crates
(164 directly)
10KB
129 lines
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
- Apache License, Version 2.0 (
LICENSE-APACHE
or http://www.apache.org/licenses/LICENSE-2.0) - MIT license (
LICENSE-MIT
or http://opensource.org/licenses/MIT)
at your option.
Dependencies
~220KB