pub struct ScrollbackMetadata { /* private fields */ }Implementations§
Source§impl ScrollbackMetadata
impl ScrollbackMetadata
pub fn new() -> ScrollbackMetadata
Sourcepub fn clear(&mut self)
pub fn clear(&mut self)
Reset all metadata, clearing prompt lines, commands, and timestamps.
Called when the scrollback buffer is cleared so stale marks don’t persist.
Sourcepub fn apply_event(
&mut self,
marker: Option<ShellIntegrationMarker>,
absolute_line: usize,
history_len: usize,
last_command: Option<CommandSnapshot>,
last_exit_code: Option<i32>,
)
pub fn apply_event( &mut self, marker: Option<ShellIntegrationMarker>, absolute_line: usize, history_len: usize, last_command: Option<CommandSnapshot>, last_exit_code: Option<i32>, )
Apply the latest shell integration marker and update internal metadata.
absolute_line is the cursor position (scrollback_len + cursor_row) at the
time the marker was emitted by the core library. This captures the exact
position before subsequent output moves the cursor.
history_len is the current command history length from the core library.
last_command should contain the most recent command when history_len > 0.
Sourcepub fn marks(&self) -> Vec<ScrollbackMark>
pub fn marks(&self) -> Vec<ScrollbackMark>
Produce a list of marks suitable for rendering or navigation.
Sourcepub fn metadata_for_line(&self, line: usize) -> Option<LineMetadata>
pub fn metadata_for_line(&self, line: usize) -> Option<LineMetadata>
Retrieve metadata for a specific absolute line index, if available.
Sourcepub fn previous_mark(&self, line: usize) -> Option<usize>
pub fn previous_mark(&self, line: usize) -> Option<usize>
Find the previous mark (prompt) before the given absolute line.
Sourcepub fn next_mark(&self, line: usize) -> Option<usize>
pub fn next_mark(&self, line: usize) -> Option<usize>
Find the next mark (prompt) after the given absolute line.
Sourcepub fn set_mark_command_at(&mut self, target_line: usize, command: String)
pub fn set_mark_command_at(&mut self, target_line: usize, command: String)
Set the command text on the mark at or nearest to target_line.
Trait Implementations§
Source§impl Default for ScrollbackMetadata
impl Default for ScrollbackMetadata
Source§fn default() -> ScrollbackMetadata
fn default() -> ScrollbackMetadata
Auto Trait Implementations§
impl Freeze for ScrollbackMetadata
impl RefUnwindSafe for ScrollbackMetadata
impl Send for ScrollbackMetadata
impl Sync for ScrollbackMetadata
impl Unpin for ScrollbackMetadata
impl UnsafeUnpin for ScrollbackMetadata
impl UnwindSafe for ScrollbackMetadata
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> 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<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
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 moreSource§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian().