ansi escape codes tokenization
==============================

[gitlab](https://gitlab.com/zhiburt/ansitok/)
[crates.io](https://crates.io/crates/ansitok)
[docs.rs](https://docs.rs/ansitok)
[build status](https://gitlab.com/zhiburt/ansitok/-/pipelines?ref=master)

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

```rust
use ansitok::{parse_ansi, Output};

fn main() {
    let text = "\x1b[31;1;4mHello World\x1b[0m";

    for output in parse_ansi(text) {
        match output {
            Output::Text(text) => println!("Got a text: {:?}", text),
            Output::Escape(esc) => println!("Got an escape sequence: {:?}", esc),
        }
    }
}
```

# `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.
