pub struct StatusLine {
pub model: String,
pub cwd: String,
pub ctx_used: usize,
pub ctx_window: usize,
pub hint: Option<(String, HintSeverity)>,
pub mode_indicator: Option<String>,
pub session_name: Option<String>,
}Expand description
“model · cwd · ctx_used / ctx_window” chrome. Visible in both Idle
and Streaming phases so the user always sees what provider is active
and how much of the context window is currently in use. Cumulative
session token totals are NOT shown here — they’re per-session and
don’t tell the user whether the next turn is at risk of overflow.
ctx_used answers “what does the model see right now”; ctx_window
is the cap. Together they answer “how close are we to compaction”.
Fields§
§model: String§cwd: String§ctx_used: usizeTokens currently in the model’s context (last turn’s sent_tokens).
Pre-first-turn this is 0; the renderer hides the field then.
ctx_window: usizeProvider’s context window (cap). 0 when not yet known — renderer falls back to a bare “12.3k tok” display in that case.
hint: Option<(String, HintSeverity)>Right-aligned passive hint with severity. Warning renders red
(no-provider nudge, CodingPlan model-missing); Info renders
muted (upgrade banner, CodingPlan drift notice). None → no hint.
mode_indicator: Option<String>Left-aligned mode indicator, prepended before model. Present
only when the user explicitly switched to a non-default agent
mode (Plan today; conceivably others later). None for the
default Build mode so the status row doesn’t gain noise for
the common case. Renders in brand color (Role::Brand) to draw
the eye — switching modes changes whether file edits and shell
run, so the user wants this prominent.
session_name: Option<String>Current session display name, shown as a right-aligned cyan
pill overlaid on the input box’s top rule. Some only after
the user has explicitly run /rename (Session::user_renamed) —
auto-named / default sessions leave this None to keep the
chrome quiet on fresh conversations.
Trait Implementations§
Source§impl Clone for StatusLine
impl Clone for StatusLine
Source§fn clone(&self) -> StatusLine
fn clone(&self) -> StatusLine
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for StatusLine
impl Debug for StatusLine
Source§impl Default for StatusLine
impl Default for StatusLine
Source§fn default() -> StatusLine
fn default() -> StatusLine
Auto Trait Implementations§
impl Freeze for StatusLine
impl RefUnwindSafe for StatusLine
impl Send for StatusLine
impl Sync for StatusLine
impl Unpin for StatusLine
impl UnsafeUnpin for StatusLine
impl UnwindSafe for StatusLine
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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