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
//! Application state and main event loop.
//!
//! [`App`] owns all runtime state. [`App::run`] is the async entry point that
//! draws frames and processes actions until the user quits.
//!
//! # Module layout
//!
//! | Submodule | Contents |
//! |--------------------|------------------------------------------------------|
//! | `types` | Pure data types with no `App` dependency |
//! | `state` | `App` struct, constructor, and field accessors |
//! | `actions` | `Action` enum (public — referenced externally) |
//! | `fetch` | Background fetch helpers and SWR cache logic |
//! | `action_handlers` | `handle_action` dispatcher and confirmation helpers |
//! | `keymap` | Per-focus keyboard handlers |
//! | `mouse` | Mouse event routing |
//! | `run` | `App::run` async entry point and auto-refresh timer |
// Re-export the public API so that external callers can use `crate::app::App`,
// `crate::app::Focus`, etc. without knowing the internal module layout.
pub use App;
// Re-export types referenced externally as `crate::app::X`.
// `FirstRunSuggestion` is only used in test code in `ui::first_run`, so the
// compiler warns about it in non-test builds — the allow silences that.
pub use ;