Crates.io | terminal-juice |
lib.rs | terminal-juice |
version | 0.1.1 |
source | src |
created_at | 2023-07-04 02:05:50.163261 |
updated_at | 2023-08-15 00:56:17.674691 |
description | An opinionated terminal control library |
homepage | |
repository | https://github.com/john-the-inhaler/terminal_juice |
max_upload_size | |
id | 907560 |
size | 15,913 |
Terminal Juice is a wrapper around the termios ABI/API providing a simple interface for setting terminal configurations. Terminal Juice also provides a simple interface for basic terminal operations like cursor placement and printing/reading.
Terminal Juice is intended for creating quick interactive command line interfaces. With it's simple interface and "you get what you pay for" approach, Terminal Juice is extendable to provide the backbone of any system you write.
Terminal Juice is an opinionated library, so it may not be well suited for all
purpose use. It takes inspiration from How different actions can be chained
together via the IO
monad in Haskell, while still being able to work with
non functional code. This doesn't work like the IO
monad in Haskell, don't
expect simple & efficient lazy evaluation. Any lazy evaluation implemented
will be focused on what can encoded statically (Which will work nicely with
optimisation).