From e297b98f721bf32d8d4331677eefe49823db32b9 Mon Sep 17 00:00:00 2001 From: Ellie Huxtable Date: Fri, 4 Nov 2022 09:08:20 +0000 Subject: Add local event log storage (#390) * Add event data structures This adds the data structures required to start syncing events, rather than syncing history directly. Adjust event Fix Add event data structure to client * Add server event table sql * Add client event table migration Adjust migration * Insert into event table from client * Add event merge function Right now this just ensures we have the right amount of events given the history we have BUT it will also be used to merge CREATE/DELETE events, resulting in history being deleted :) * Make CI happy * Adjust * we don't limit history length any more * Update atuin-client/src/database.rs Co-authored-by: Conrad Ludgate * fix usage * Fix typo * New Rust, new clippy stuff Co-authored-by: Conrad Ludgate --- src/command/client/history.rs | 6 ++---- src/command/client/search/history_list.rs | 13 +++++-------- 2 files changed, 7 insertions(+), 12 deletions(-) (limited to 'src') diff --git a/src/command/client/history.rs b/src/command/client/history.rs index 6a78adc9..c45ee0c8 100644 --- a/src/command/client/history.rs +++ b/src/command/client/history.rs @@ -136,10 +136,8 @@ impl Cmd { // It's better for atuin to silently fail here and attempt to // store whatever is ran, than to throw an error to the terminal - let cwd = match env::current_dir() { - Ok(dir) => dir.display().to_string(), - Err(_) => String::from(""), - }; + let cwd = env::current_dir() + .map_or_else(|_| String::new(), |dir| dir.display().to_string()); let h = History::new(chrono::Utc::now(), command, cwd, -1, -1, None, None); diff --git a/src/command/client/search/history_list.rs b/src/command/client/search/history_list.rs index e4d8ee6b..fda1098f 100644 --- a/src/command/client/search/history_list.rs +++ b/src/command/client/search/history_list.rs @@ -35,14 +35,11 @@ impl<'a> StatefulWidget for HistoryList<'a> { type State = ListState; fn render(mut self, area: Rect, buf: &mut Buffer, state: &mut Self::State) { - let list_area = match self.block.take() { - Some(b) => { - let inner_area = b.inner(area); - b.render(area, buf); - inner_area - } - None => area, - }; + let list_area = self.block.take().map_or(area, |b| { + let inner_area = b.inner(area); + b.render(area, buf); + inner_area + }); if list_area.width < 1 || list_area.height < 1 || self.history.is_empty() { return; -- cgit v1.3.1