anes

ANSI Escape Sequence provider & parser

Latest version: 0.2.0 registry icon
Maintenance score
47
Safety score
100
Popularity score
71
Check your open source dependency risks. Get immediate insight about security, stability and licensing risks.
Security
  Vulnerabilities
Version Suggest Low Medium High Critical
0.2.0 0 0 0 0 0
0.1.6 0 0 0 0 0
0.1.5 0 0 0 0 0
0.1.4 0 0 0 0 0
0.1.3 0 0 0 0 0
0.1.2 0 0 0 0 0
0.1.1 0 0 0 0 0
0.1.0 0 0 0 0 0
0.0.2 0 0 0 0 0
0.0.1 0 0 0 0 0

Stability
Latest release:

0.2.0 - This version may not be safe as it has not been updated for a long time. Find out if your coding project uses this component and get notified of any reported security vulnerabilities with Meterian-X Open Source Security Platform

Licensing

Maintain your licence declarations and avoid unwanted licences to protect your IP the way you intended.

Apache-2.0   -   Apache License 2.0

Not a wildcard

Not proprietary

OSI Compliant


MIT   -   MIT License

Not a wildcard

Not proprietary

OSI Compliant



Stable Status Beta Status Nightly Status crates.io docs.rs MIT Apache 2.0 LOC

ANSI Escape Sequences provider & parser

This README file is for the anes-rs repository. If you're looking for the user documentation, please, go to anes/README.md.

Repository organisation

anes-rs
 ├ README.md        - this README
 ├ anes             - `anes` crate
 │  ├ benches       - `anes` crate benchmarks
 │  ├ examples      - `anes` crate examples
 │  ├ src           - `anes` crate source code
 │  ├ tests         - `anes` crate tests
 │  └ README.md     - `anes` crate README for crates.io site
 ├ fuzzer            - fuzzing binary targets
 ├ interactive-test  - interactive test for the `anes` crate
 └ scripts           - various scripts to run bechmarks, fuzzer, ...

Benchmarks

You can run benchmarks with the scripts/bench.sh script. criterion output is available in the anes/target/criterion folder. If you'd like to modify the parser module (anes/src/parser) in any way, please, do:

  • run benchmarks,
  • modify the parser code,
  • run benchmarks again.

Do not commit any change which degrades the parser performance. TIA!

Fuzzer

You can start fuzzing with the scripts/fuzz.sh script. Feel free to stop fuzzing any time with the Ctrl C, AFL allows you to continue with the scripts/fuzz-continue.sh script.

Motivation

There're couple of terminal crates like:

All these crates do share two pieces of code:

  • ANSI escape sequences and
  • input event parsers.

I think that it's a waste of resources and asked Timon (the crossterm crate maintainer) what he thinks about a new crate as a building block for the crossterm and other crates. And here we are ...

License

The ANES crate is dual-licensed under Apache 2.0 and MIT terms.

Copyrights in the ANES project are retained by their contributors. No copyright assignment is required to contribute to the ANES project.