42 releases (1 stable)

1.0.0 Jul 21, 2024
0.7.0 Jan 12, 2021
0.6.1 Aug 5, 2019
0.6.0 Jul 26, 2019
0.1.1 Dec 29, 2014

#346 in Command-line interface

Download history 312072/week @ 2024-07-19 301147/week @ 2024-07-26 311913/week @ 2024-08-02 330165/week @ 2024-08-09 322600/week @ 2024-08-16 345600/week @ 2024-08-23 324328/week @ 2024-08-30 337405/week @ 2024-09-06 299883/week @ 2024-09-13 344229/week @ 2024-09-20 370248/week @ 2024-09-27 339879/week @ 2024-10-04 354294/week @ 2024-10-11 373389/week @ 2024-10-18 360758/week @ 2024-10-25 332198/week @ 2024-11-01

1,489,037 downloads per month
Used in fewer than 184 crates

MIT/Apache

110KB
2K SLoC

term

A Rust library for terminfo parsing and terminal colors.

CI

Documentation

MSRV

1.63

Usage

Add this to your Cargo.toml:

[dependencies]

term = "*"

Packaging and Distributing

For all terminals but windows consoles, this library depends on a non-hashed (for now) terminfo database being present. For example, on Debian derivitives, you should depend on ncurses-term; on Arch Linux, you depend on ncurses; and on MinGW, you should depend on mingw32-terminfo.

Unfortunately, if you're using a non-windows console on Windows (e.g. MinGW, Cygwin, Git Bash), you'll need to set the TERMINFO environment variable to point to the directory containing the terminfo database.


lib.rs:

Terminal formatting library.

This crate provides the Terminal trait, which abstracts over an ANSI Terminal to provide color printing, among other things. There are two implementations, the TerminfoTerminal, which uses control characters from a terminfo database, and WinConsole, which uses the Win32 Console API.

Usage

This crate is on crates.io and can be used by adding term to the dependencies in your project's Cargo.toml.

[dependencies]

term = "*"

Examples

use std::io::prelude::*;

let mut t = term::stdout().unwrap();

t.fg(term::color::GREEN).unwrap();
write!(t, "hello, ").unwrap();

t.fg(term::color::RED).unwrap();
writeln!(t, "world!").unwrap();

t.reset().unwrap();

Dependencies

~0–8MB
~59K SLoC