pub struct OverriddenSegment { /* private fields */ }Expand description
Wraps a Segment to override its defaults() output while
delegating render unchanged. Applying [segments.<id>] overrides
without touching the inner segment.
Implementations§
Source§impl OverriddenSegment
impl OverriddenSegment
pub fn new(inner: Box<dyn Segment>) -> Self
pub fn with_priority(self, priority: u8) -> Self
pub fn with_width(self, bounds: WidthBounds) -> Self
Sourcepub fn with_user_style(self, style: Style) -> Self
pub fn with_user_style(self, style: Style) -> Self
Wholesale-replaces the inner segment’s declared style at render
time. See docs/specs/theming.md §Resolution precedence.
Trait Implementations§
Source§impl Segment for OverriddenSegment
impl Segment for OverriddenSegment
Source§fn render(&self, ctx: &DataContext, rc: &RenderContext) -> RenderResult
fn render(&self, ctx: &DataContext, rc: &RenderContext) -> RenderResult
Render this segment for the given context. Read more
Source§fn shrink_to_fit(
&self,
ctx: &DataContext,
rc: &RenderContext,
target: u16,
) -> Option<RenderedSegment>
fn shrink_to_fit( &self, ctx: &DataContext, rc: &RenderContext, target: u16, ) -> Option<RenderedSegment>
Layout-pressure-aware compaction hook. The reflow loop calls
this on any segment under width pressure (truncatable or
not), asking whether it can produce a render at most
target
cells wide. It runs before truncatable end-ellipsis
truncation, so segment-side intelligence beats generic
string clipping when both apply. Default returns None (no
compact form available; engine falls through to truncatable
or drop). Segments with structured tail content override to
shed decoration while keeping the signal-bearing prefix. Read moreSource§fn data_deps(&self) -> &'static [DataDep]
fn data_deps(&self) -> &'static [DataDep]
Declare which data sources this segment reads. The runtime
computes the union across all enabled segments and lazy-fetches
only those sources. Defaults to the stdin payload only; segments
that read other sources must override. See
docs/specs/data-fetching.md §Segment dependency declaration. Read moreSource§fn defaults(&self) -> SegmentDefaults
fn defaults(&self) -> SegmentDefaults
Layout defaults (priority, width bounds, truncatable opt-in).
User config may override each field via
OverriddenSegment.
Implementations must be O(1), do no I/O, and avoid allocation:
the layout engine snapshots this at collect time and the
[LineItem::Debug] impl reads it for dbg! / panic-backtrace
formatting.Auto Trait Implementations§
impl Freeze for OverriddenSegment
impl !RefUnwindSafe for OverriddenSegment
impl Send for OverriddenSegment
impl !Sync for OverriddenSegment
impl Unpin for OverriddenSegment
impl UnsafeUnpin for OverriddenSegment
impl !UnwindSafe for OverriddenSegment
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
Mutably borrows from an owned value. Read more