Trait reedline::History

source ·
pub trait History: Send {
    // Required methods
    fn save(&mut self, h: HistoryItem) -> Result<HistoryItem>;
    fn load(&self, id: HistoryItemId) -> Result<HistoryItem>;
    fn count(&self, query: SearchQuery) -> Result<i64>;
    fn search(&self, query: SearchQuery) -> Result<Vec<HistoryItem>>;
    fn update(
        &mut self,
        id: HistoryItemId,
        updater: &dyn Fn(HistoryItem) -> HistoryItem
    ) -> Result<()>;
    fn clear(&mut self) -> Result<()>;
    fn delete(&mut self, h: HistoryItemId) -> Result<()>;
    fn sync(&mut self) -> Result<()>;
    fn session(&self) -> Option<HistorySessionId>;

    // Provided method
    fn count_all(&self) -> Result<i64> { ... }
}
Expand description

Represents a history file or database Data could be stored e.g. in a plain text file, in a JSONL file, in a SQLite database

Required Methods§

source

fn save(&mut self, h: HistoryItem) -> Result<HistoryItem>

save a history item to the database if given id is None, a new id is created and set in the return value if given id is Some, the existing entry is updated

source

fn load(&self, id: HistoryItemId) -> Result<HistoryItem>

load a history item by its id

source

fn count(&self, query: SearchQuery) -> Result<i64>

retrieves the next unused session id count the results of a query

source

fn search(&self, query: SearchQuery) -> Result<Vec<HistoryItem>>

return the results of a query

source

fn update( &mut self, id: HistoryItemId, updater: &dyn Fn(HistoryItem) -> HistoryItem ) -> Result<()>

update an item atomically

source

fn clear(&mut self) -> Result<()>

delete all history items

source

fn delete(&mut self, h: HistoryItemId) -> Result<()>

remove an item from this history

source

fn sync(&mut self) -> Result<()>

ensure that this history is written to disk

source

fn session(&self) -> Option<HistorySessionId>

get the history session id

Provided Methods§

source

fn count_all(&self) -> Result<i64>

return the total number of history items

Implementors§