1pub mod action;
3pub mod components;
4pub mod events;
5pub mod handlers;
6pub mod model;
7pub mod ui;
8pub mod utils;
9
10pub use action::{Action, PanelType};
12pub use components::App;
13pub use events::{
14 BacktraceDisplay, BacktraceDisplayFrame, ComplexVariableDisplay, EventRegistry,
15 ExprErrorDisplay, RuntimeChannels, RuntimeCommand, RuntimeStatus, TraceDisplayItem, TuiEvent,
16 UiTraceEvent, VariableDisplay,
17};
18pub use model::ui_state::{HistoryConfig, LayoutMode, UiConfig};
19
20use anyhow::Result;
21
22pub async fn run_tui_mode(event_registry: EventRegistry, layout_mode: LayoutMode) -> Result<()> {
23 let ui_config = UiConfig {
24 layout_mode,
25 panel_ratios: [4, 3, 3], show_source_panel: true,
27 two_panel_ratios: [3, 3],
28 default_focus: crate::action::PanelType::InteractiveCommand,
29 history: HistoryConfig::default(),
30 ebpf_max_messages: 2000, };
32 run_tui_mode_with_config(event_registry, ui_config).await
33}
34
35pub async fn run_tui_mode_with_config(
36 event_registry: EventRegistry,
37 ui_config: UiConfig,
38) -> Result<()> {
39 let mut app = App::new_with_config(event_registry, ui_config).await?;
40 app.run().await
41}