pub struct ScrollbackMark {
pub line: usize,
pub exit_code: Option<i32>,
pub start_time: Option<u64>,
pub duration_ms: Option<u64>,
pub command: Option<String>,
pub color: Option<(u8, u8, u8)>,
pub trigger_id: Option<u64>,
}Expand description
Public-facing metadata for a mark anchored to a scrollback line.
This is a shared type used by both the terminal module (which creates marks from shell integration events) and the renderer module (which displays marks in the scrollbar and separator lines).
Fields§
§line: usizeThe absolute scrollback line index this mark is anchored to.
exit_code: Option<i32>Exit code of the command at this mark, if captured by shell integration.
start_time: Option<u64>Unix timestamp (seconds) when the command started, if captured.
duration_ms: Option<u64>Elapsed time in milliseconds for the command, if captured.
command: Option<String>The command string at this mark, if captured.
color: Option<(u8, u8, u8)>Custom color override (from trigger marks). When set, overrides exit_code-based coloring.
trigger_id: Option<u64>Trigger ID that created this mark (None for shell integration marks). Used for deduplication: the same trigger matching the same physical line across multiple scans produces marks at different absolute positions.
Trait Implementations§
Source§impl Clone for ScrollbackMark
impl Clone for ScrollbackMark
Source§fn clone(&self) -> ScrollbackMark
fn clone(&self) -> ScrollbackMark
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ScrollbackMark
impl Debug for ScrollbackMark
Source§impl PartialEq for ScrollbackMark
impl PartialEq for ScrollbackMark
impl Eq for ScrollbackMark
impl StructuralPartialEq for ScrollbackMark
Auto Trait Implementations§
impl Freeze for ScrollbackMark
impl RefUnwindSafe for ScrollbackMark
impl Send for ScrollbackMark
impl Sync for ScrollbackMark
impl Unpin for ScrollbackMark
impl UnsafeUnpin for ScrollbackMark
impl UnwindSafe for ScrollbackMark
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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