termini
is a Rust library that provides access to the terminfo
database.
Some highlights of termini
include:
terminfo
databasestermini
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: