pub struct LiveState {
pub target: String,
pub bundle: String,
pub phase: AppPhase,
pub current_step: Option<String>,
pub ws_addr: Option<String>,
pub watching: Vec<String>,
pub client_count: usize,
pub last_build: Option<String>,
pub last_patch: Option<String>,
pub should_quit: bool,
pub user_initiated_quit: bool,
}Expand description
Snapshot the render thread reads on every frame to draw the live
region. Mutated under a Mutex from the cli thread; everything
that needs to enter scrollback goes through the history channel
instead so the render thread can call insert_before from the
thread that owns the ratatui terminal.
Fields§
§target: String§bundle: String§phase: AppPhase§current_step: Option<String>Label of the in-progress step (e.g. “xcodebuild …”). Cleared when the step finishes.
ws_addr: Option<String>§watching: Vec<String>§client_count: usize§last_build: Option<String>§last_patch: Option<String>§should_quit: bool§user_initiated_quit: booltrue when the quit was triggered by a user keypress
(q / Esc / Ctrl-C), false when the cli called
TuiHandle::request_quit after its own work finished or
failed. The render thread uses this to decide whether to
force-exit the process after shutdown — the dev-server
rt.block_on(server.run()) call in the main thread otherwise
blocks forever, so without a hard exit q would tear down the
TUI but leave the process running.
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for LiveState
impl RefUnwindSafe for LiveState
impl Send for LiveState
impl Sync for LiveState
impl Unpin for LiveState
impl UnsafeUnpin for LiveState
impl UnwindSafe for LiveState
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more