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
//! Interactive terminal for `zc`.
//!
//! This module is being grown incrementally per `docs/TERMINAL_REFACTOR.md` to
//! bring the terminal up to a Claude Code–style interface (rich REPL UX, slash
//! commands & modes, theming & rendering).
//!
//! Phase 0 (current) lands the [`theme`] abstraction only — a no-behavior-change
//! foundation. Later phases add the modules sketched below:
//!
//! ```text
//! tui/
//! app.rs # App state machine: Mode enum, event loop, key routing
//! event.rs # input -> Action mapping; keymap table
//! input.rs # editable prompt, history, multiline
//! palette.rs # slash command palette: fuzzy match, completion, hints
//! scrollback.rs # output buffer: rendered blocks, wrapping, scroll
//! statusline.rs # mode + context bar
//! theme.rs # Theme struct, named palettes, load/save TOML <-- Phase 0
//! render/ # markdown, syntax highlight, panels, spinners
//! views/ # monitor (today's dashboard), snapshot model
//! data/ # DataSource trait: local + remote sources
//! ```
//!
//! The existing dashboard in [`crate::broker::tui`] is unchanged for now; Phase 1
//! unifies its local/remote implementations behind a `DataSource` and moves the
//! rendering here as `tui::views::monitor`.
pub use run_shell;