pub struct History { /* private fields */ }Expand description
Interface for querying and manipulating the shell’s recorded history of commands.
Implementations§
Source§impl History
impl History
Sourcepub fn import(reader: impl Read) -> Result<Self, Error>
pub fn import(reader: impl Read) -> Result<Self, Error>
Constructs a new History instance, with its contents initialized from the given readable
stream. If errors are encountered reading lines from the stream, unreadable lines will
be skipped but the call will still return successfully, with a warning logged. An error
result will be returned only if an internal error occurs updating the history.
§Arguments
reader- The readable stream to import history from.
Sourcepub fn get_by_id(&self, id: i64) -> Result<Option<&Item>, Error>
pub fn get_by_id(&self, id: i64) -> Result<Option<&Item>, Error>
Tries to retrieve a history item by its unique identifier. Returns None if no item is
found.
§Arguments
id- The unique identifier of the history item to retrieve.
Sourcepub fn update_by_id(&mut self, id: i64, item: Item) -> Result<(), Error>
pub fn update_by_id(&mut self, id: i64, item: Item) -> Result<(), Error>
Replaces the history item with the given ID with a new item. Returns an error if the item cannot be updated.
§Arguments
id- The unique identifier of the history item to update.item- The new history item to replace the old one.
Sourcepub fn remove_nth_item(&mut self, n: usize) -> bool
pub fn remove_nth_item(&mut self, n: usize) -> bool
Removes the nth item from the history. Returns the removed item, or None if no such item
exists (i.e., because it was out of range).
Sourcepub fn add(&mut self, item: Item) -> Result<i64, Error>
pub fn add(&mut self, item: Item) -> Result<i64, Error>
Adds a new history item. Returns the unique identifier of the newly added item.
§Arguments
item- The history item to add.
Sourcepub fn delete_item_by_id(&mut self, id: i64) -> Result<(), Error>
pub fn delete_item_by_id(&mut self, id: i64) -> Result<(), Error>
Deletes a history item by its unique identifier. Returns an error if the item cannot be deleted.
§Arguments
id- The unique identifier of the history item to delete.
Sourcepub fn flush(
&mut self,
history_file_path: impl AsRef<Path>,
append: bool,
unsaved_items_only: bool,
write_timestamps: bool,
) -> Result<(), Error>
pub fn flush( &mut self, history_file_path: impl AsRef<Path>, append: bool, unsaved_items_only: bool, write_timestamps: bool, ) -> Result<(), Error>
Flushes the history to backing storage (if relevant).
§Arguments
history_file_path- The path to the history file.append- Whether to append to the file or overwrite it.unsaved_items_only- Whether to only write unsaved items; if true, any items will be marked as “saved” once saved.write_timestamps- Whether to write timestamps for each command line.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for History
impl RefUnwindSafe for History
impl Send for History
impl Sync for History
impl Unpin for History
impl UnwindSafe for History
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