Expand description
afar — operate shells from afar.
afar adds working backends to elegance::MultiTerminal: a local
shell over a PTY, and remote sessions over SSH. The widget you actually
show in your egui app is LiveMultiTerminal, a thin wrapper that owns
one or more backends and pumps bytes between them and the existing
line-buffered scrollback model.
See terminal_crate_plan.md in the repo root for the full design.
Re-exports§
pub use backend::BackendEvent;pub use backend::BackendHandle;pub use backend::CloseReason;pub use backend::TerminalBackend;pub use backend::TerminalStatus;pub use backend::local::LocalShell;pub use backend::ssh::Decision;pub use backend::ssh::HostKeyMismatch;pub use backend::ssh::HostKeyPolicy;pub use backend::ssh::MismatchCallback;pub use backend::ssh::SshAuth;pub use backend::ssh::SshConfig;pub use backend::ssh::SshSession;
Modules§
- ansi
- Line-mode ANSI handling: SGR →
LineKindmatcher and CSI/OSC stripper. - backend
- Backend trait and the UI-facing facade.
- runtime
- Process-singleton tokio runtime owned by the crate.
Structs§
- Live
Multi Terminal - Multi-pane terminal widget driven by real backends.
- Live
Multi Terminal Controls - Restricted view of the inner
MultiTerminal. See §4 of the plan.
Enums§
- Overflow
Policy - Policy for what to drop when a pane’s output ring buffer fills.