summaryrefslogtreecommitdiffstats
path: root/vendor/anes/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/anes/README.md')
-rw-r--r--vendor/anes/README.md129
1 files changed, 129 insertions, 0 deletions
diff --git a/vendor/anes/README.md b/vendor/anes/README.md
new file mode 100644
index 000000000..6a3c23676
--- /dev/null
+++ b/vendor/anes/README.md
@@ -0,0 +1,129 @@
+[![Stable Status][actions-stable-badge]][actions-link]
+[![Beta Status][actions-beta-badge]][actions-link]
+[![Nightly Status][actions-nightly-badge]][actions-link]
+[![crates.io][crates-badge]][crates-link]
+[![docs.rs][docs-badge]][docs-link]
+[![MIT][mit-license-badge]][mit-license-link]
+[![Apache 2.0][apache-license-badge]][apache-license-link]
+![LOC][loc-badge]
+
+# ANSI Escape Sequences provider & parser
+
+A Rust library which provides an ANSI escape sequences (or codes, whatever you like more)
+and a parser allowing you to parse data from the STDIN (or `/dev/tty`) in the raw mode.
+
+## Sequences provider
+
+### Terminal support
+
+Not all ANSI escape sequences are supported by all terminals. You can use the
+[interactive-test](https://github.com/zrzka/anes-rs/tree/master/interactive-test) to test them.
+Checkout the repository and then:
+
+```bash
+$ cd anes-rs
+$ cargo run --bin interactive-test
+```
+
+### Examples
+
+<details>
+<summary>
+Click to show Cargo.toml.
+</summary>
+
+```toml
+[dependencies]
+anes = "0.1"
+```
+
+</details>
+<p></p>
+
+
+An example how to retrieve the ANSI escape sequence as a `String`:
+
+```rust
+use anes::SaveCursorPosition;
+
+fn main() {
+ let string = format!("{}", SaveCursorPosition);
+ assert_eq!(&string, "\x1B7");
+}
+```
+
+An example how to use the ANSI escape sequence:
+
+```rust
+use std::io::{Result, Write};
+
+use anes::execute;
+
+fn main() -> Result<()> {
+ let mut stdout = std::io::stdout();
+ execute!(
+ &mut stdout,
+ anes::SaveCursorPosition,
+ anes::MoveCursorTo(10, 10),
+ anes::RestoreCursorPosition
+ )?;
+ Ok(())
+}
+```
+
+## Sequences parser
+
+You have to enable `parser` feature in order to use the parser. It's disabled by default.
+
+### Examples
+
+<details>
+<summary>
+Click to show Cargo.toml.
+</summary>
+
+```toml
+[dependencies]
+anes = { version = "0.1", features = ["parser"] }
+```
+
+</details>
+<p></p>
+
+An example how to parse cursor position:
+
+```rust
+use anes::parser::{Parser, Sequence};
+
+let mut parser = Parser::default();
+parser.advance(b"\x1B[20;10R", false);
+
+assert_eq!(Some(Sequence::CursorPosition(10, 20)), parser.next());
+assert!(parser.next().is_none());
+```
+
+## License
+
+The ANES crate is dual-licensed under [Apache 2.0][apache-license-link] and
+[MIT][mit-license-link] terms.
+
+Copyrights in the ANES project are retained by their contributors. No
+copyright assignment is required to contribute to the ANES project.
+
+[actions-stable-badge]: https://github.com/zrzka/anes-rs/workflows/stable/badge.svg
+[actions-beta-badge]: https://github.com/zrzka/anes-rs/workflows/beta/badge.svg
+[actions-nightly-badge]: https://github.com/zrzka/anes-rs/workflows/nightly/badge.svg
+[actions-link]: https://github.com/zrzka/anes-rs/actions
+
+[crates-badge]: https://img.shields.io/crates/v/anes.svg
+[crates-link]: https://crates.io/crates/anes
+
+[docs-badge]: https://docs.rs/anes/badge.svg
+[docs-link]: https://docs.rs/anes
+
+[mit-license-badge]: https://img.shields.io/badge/license-MIT-blue.svg
+[mit-license-link]: ./LICENSE-MIT
+[apache-license-badge]: https://img.shields.io/badge/license-Apache2-blue.svg
+[apache-license-link]: /LICENSE-APACHE
+
+[loc-badge]: https://tokei.rs/b1/github/zrzka/anes-rs?category=code