updating readme
This commit is contained in:
40
README.md
40
README.md
@@ -1,3 +1,43 @@
|
|||||||
[](https://gitlab.com/davidbittner/ansi-parser/commits/master)
|
[](https://gitlab.com/davidbittner/ansi-parser/commits/master)
|
||||||

|

|
||||||
# Ansi Escape Sequence Parser
|
# 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)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
```
|
||||||
|
@@ -9,7 +9,7 @@ mod parsers;
|
|||||||
/// + Erase Display
|
/// + Erase Display
|
||||||
/// + Erase Line
|
/// + Erase Line
|
||||||
/// + Set Graphics mode
|
/// + 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
|
/// 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
|
/// turns all of the ANSI sequences into enums and splits the string at every location that there
|
||||||
|
Reference in New Issue
Block a user