3 releases (breaking)
0.3.0 | Jan 30, 2025 |
---|---|
0.2.0 | Oct 18, 2022 |
0.1.1 |
|
0.1.0 | Jul 19, 2022 |
#276 in Parser implementations
76,050 downloads per month
Used in 129 crates
(6 directly)
58KB
1K
SLoC
ansi escape codes tokenization
This is a library for parsing ANSI escape sequences.
The list of covered sequences.
- Cursor Position
- Cursor {Up, Down, Forward, Backward}
- Cursor {Save, Restore}
- Erase Display
- Erase Line
- Set Graphics mode
- Set/Reset Text Mode
Usage
let text = "\x1b[31;1;4mHello World\x1b[0m";
for e in parse_ansi(text) {
match e.kind() {
ElementKind::Text => {
println!("Got a text: {:?}", &text[e.range()],);
}
_ => {
println!(
"Got an escape sequence: {:?} from {:#?} to {:#?}",
e.kind(),
e.start(),
e.end()
);
}
}
}
no_std
support
no_std
is supported via disabling the std
feature in your Cargo.toml
.
Notes
The project got an insiration from https://gitlab.com/davidbittner/ansi-parser.
Dependencies
~1MB
~21K SLoC