pub enum HistoryItem {
PhaseEnter(String),
PhaseDone {
label: String,
status: StepStatus,
elapsed: Duration,
},
Step {
label: String,
status: StepStatus,
elapsed: Duration,
},
CapturedStderr(String),
DeviceLog {
stream: String,
line: String,
},
Failure(String),
SetCurrentStep(Option<String>),
}Expand description
One message the render thread receives from upstream producers
(cli code, dev-server events, and the stderr capture thread).
Most variants paint a row into the terminal’s scrollback via
Terminal::insert_before; the SetCurrentStep variant is the
exception — it only mutates LiveState::current_step so the
inline live region can show a spinner during the next frame.
Variants§
PhaseEnter(String)
Phase-transition heading: “▶ Initial build”.
PhaseDone
Phase-completion summary: “✓ Initial build 6.2s”.
Step
A completed step: “✓ Sync gen/ios 124ms”.
CapturedStderr(String)
One line captured from the dup2’d stderr pipe (with ANSI escapes already stripped).
DeviceLog
Device log forwarded from the dev-server.
Failure(String)
One-shot failure description for the scrollback.
SetCurrentStep(Option<String>)
Update the live region’s current_step field. Some(label)
makes the spinner visible with the given label; None
hides it. Synthesised by the stderr capture thread when it
sees whisker_build::ui::TUI_STEP_START_MARKER /
TUI_STEP_END_MARKER — those markers let the dev-server’s
ui::step calls drive the live spinner without committing
a “⏵ started” row that would later double-up with the
matching “✓ done” row in scrollback.
Trait Implementations§
Source§impl Clone for HistoryItem
impl Clone for HistoryItem
Source§fn clone(&self) -> HistoryItem
fn clone(&self) -> HistoryItem
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for HistoryItem
impl RefUnwindSafe for HistoryItem
impl Send for HistoryItem
impl Sync for HistoryItem
impl Unpin for HistoryItem
impl UnsafeUnpin for HistoryItem
impl UnwindSafe for HistoryItem
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