termini is a Rust library that provides access to the terminfo database.
Some highlights of termini include:
- supports extended capabilities
- easy to audit (single dependency, < 1k LOC)
- stability (extensively fuzzed to ensure absence of panics)
- tested on a wide array of
terminfodatabases
terminis main differentiating characteristic is that it's focused on providing a very minimal
functionality.
termini only has a single dependency (home to query the home directory) and has less than 1k LOC.
This means that it's easy to maintain/audit, doesn't introduce additional dependencies/compiletime and has
a smaller surface area for bugs.
terminis parser has been extensively fuzzed with cargo-fuzz to ensure that no panics occur even for fully malformed input.
Furthermore, termini is tested with a large array of compiled terminifo data to ensure it produces the correct results.
During the implementation of this crate, the following code was used as reference: