11 releases
0.2.4 | Apr 15, 2023 |
---|---|
0.2.3 | Mar 9, 2022 |
0.2.2 | Apr 23, 2020 |
0.2.1 | Jul 14, 2019 |
0.1.3 | Jul 19, 2018 |
#278 in Command-line interface
3,546 downloads per month
Used in 40 crates
(4 directly)
215KB
5K
SLoC
mortal
Concurrent cross-platform terminal interface, for Unix terminals and Windows console.
Provides a line-by-line terminal interface and a screen buffer interface.
Building
To include mortal
in your project, add the following to your Cargo.toml
:
[dependencies]
mortal = "0.2"
And the following to your crate root:
extern crate mortal;
License
mortal is distributed under the terms of both the MIT license and the Apache License (Version 2.0).
See LICENSE-APACHE and LICENSE-MIT for details.
lib.rs
:
Platform-independent terminal interface
Two distinct interfaces to operating system terminal devices are provided, each abstracting over the differences between Unix terminals and Windows console.
The Terminal
interface treats the terminal as a line-by-line
output device. Methods exist to add color and style attributes to text,
and to make relative movements of the cursor.
The Screen
interface treats the entire terminal window as a drawable
buffer. Methods exist to set the cursor position and to write text with
color and style attributes.
The term_write!
and term_writeln!
macros provide a convenient interface
to output attributes and formatted text to either a Terminal
or Screen
instance.
Concurrency
Each interface uses internal locking mechanisms to allow sharing of the terminal interface between threads while maintaining coherence of read/write operations.
See the documentation for Terminal
and Screen
for further details.
Dependencies
~5.5MB
~115K SLoC