44 releases (3 stable)
new 1.0.2 | Apr 12, 2025 |
---|---|
1.0.1 | Dec 14, 2024 |
1.0.0 | Jul 21, 2024 |
0.7.0 | Jan 12, 2021 |
0.1.1 | Dec 29, 2014 |
#154 in Command-line interface
2,251,782 downloads per month
Used in fewer than 185 crates
110KB
2K
SLoC
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();
term
A Rust library for terminfo parsing and terminal colors.
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.
Dependencies
~0–7.5MB
~51K SLoC