updating readme

This commit is contained in:
David Bittner
2019-04-27 15:08:04 -04:00
parent 7cc3642f92
commit d533eac192
2 changed files with 41 additions and 1 deletions

View File

@@ -1,3 +1,43 @@
[![pipeline status](https://gitlab.com/davidbittner/ansi-parser/badges/master/pipeline.svg?style=flat-square)](https://gitlab.com/davidbittner/ansi-parser/commits/master)
![deps](https://img.shields.io/librariesio/release/cargo/ansi-parser.svg?style=flat-square)
# Ansi Escape Sequence Parser
This is a library for parsing ANSI escape sequences. Currently all the basic escape sequences
are implemented:
+ Cursor Position
+ Cursor {Up, Down, Forward, Backward}
+ Cursor {Save, Restore}
+ Erase Display
+ Erase Line
+ Set Graphics mode
+ Set and Reset Text Mode
This is done through a pulldown type parser, where an iterator is exposed. This essentially
turns all of the ANSI sequences into enums and splits the string at every location that there
was an ANSI Sequence.
Example:
```rust
use ansi_parser::{Output, ParserIterator};
fn main() {
//Your input string here
let string = "...";
let parsed: Vec<Output> = ParserIterator::new(&string)
//Because it implements Iterator, you can use whatever
//your favorite iterator functions are.
.take(4)
.collect();
for block in parsed.into_iter() {
match block {
TextBlock(text) => println!("{}", text),
AnsiSequence(seq) => println!("{}", seq)
}
}
}
```

View File

@@ -9,7 +9,7 @@ mod parsers;
/// + Erase Display
/// + Erase Line
/// + Set Graphics mode
/// Set and Reset Text Mode
/// + Set and Reset Text Mode
///
/// This is done through a pulldown type parser, where an iterator is exposed. This essentially
/// turns all of the ANSI sequences into enums and splits the string at every location that there