Crate shadow_terminal

Source
Expand description

§Shadow Terminal

A fully-functional, fully-rendered terminal purely in memory.

Useful for terminal multiplexers (a la tmux, zellij) and end to end testing TUI applications.

There are 2 convenience modules for using this library: [ActiveTerminal] and [SteppableTerminal]. The former is run in a thread and can only be interacted with through channels, it’s aimed more towards real world applications. Whilst the latter must be stepped through and is aimed more at end to end testing.

The underlying [ShadowTerminal] is also designed to be used directly, but requires a bit more setup. See ActiveTerminal and SteppableTerminal to see how.

Re-exports§

pub use termwiz;
pub use wezterm_term;

Modules§

active_terminal
A convenience module wrapping [ShadowTerminal] for running an active shadow terminal running in a Tokio task.
errors
Errors for this library
output
How to send and manage the output of the shadow terminal.
pty
Creates a PTY in an OS subprocess and sends and recieves bytes to/from it over channels.
shadow_terminal
An in-memory TTY renderer. It takes a stream of PTY output bytes and maintains the visual appearance of a terminal without actually physically rendering it.
steppable_terminal
A steppable terminal, useful for doing end to end testing of TUI applications.
tests
Tests

Enums§

Protocol
All the control signals
Scroll
The various states of scrolling