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
terminfo
databases
termini
s 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.
termini
s 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: