1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
//! `tear-core` — runtime logic for the tear multiplexer.
//!
//! Houses the session/window/pane state machine, PTY ownership
//! (`portable-pty`), the layout engine, and the [`InProcess`]
//! implementation of [`tear_types::MultiplexerControl`].
//!
//! ## Why this matters for the mado integration
//!
//! `mado` currently owns its own `pane.rs`/`tab.rs` with private
//! state machines. At M5 those modules rebase onto
//! `tear-core::InProcess` — both apps then share one source of
//! truth for pane semantics. This crate's `InProcess` impl is the
//! gravitational center the eventual rebase lands on.
//!
//! No daemon — those live in `tear-daemon`. Daemon-side composition
//! wraps `InProcess` rather than reimplementing.
/// Terminal-conformance rows against the `espelho` contract.
///
/// Lives in `src/` rather than `tests/` deliberately: it constructs and
/// feeds a [`PaneGrid`] directly, and those verbs are `pub(crate)` so that
/// no consumer outside this crate can mint a second authoritative grid (see
/// the authority note on [`pane_grid::PaneGrid`]). An integration test links
/// the crate as an external consumer and would therefore be denied the same
/// access mado is — correctly. Being a unit test is what lets it keep
/// testing the sealed surface.
pub use ;
pub use InProcess;
pub use AllPanesExited;
pub use ;
pub use ;