aboutsummaryrefslogtreecommitdiffstats
path: root/atuin-client/src/import/zsh_histdb.rs
diff options
context:
space:
mode:
authorVlad Stepanov <8uk.8ak@gmail.com>2023-06-15 14:29:40 +0400
committerGitHub <noreply@github.com>2023-06-15 10:29:40 +0000
commit4077c33adfdacaf0ed68657a1955a7b69a78d373 (patch)
tree432d5c23992388a6c1bd4b11d41785ea00d56905 /atuin-client/src/import/zsh_histdb.rs
parentAdd namespaces to kv store (#1052) (diff)
downloadatuin-4077c33adfdacaf0ed68657a1955a7b69a78d373.zip
Builder interface for History objects (#933)
* [feature] store env variables in History records WIP: remove `HistoryWithoutDelete`, add some docstrings, tests * Create History objects through builders. Assure in compile-time that all required fields are set for the given construction scenario * (from #882) split Cmd::run into subfns * Update `History` doc * remove rmp-serde from history * update warning --------- Co-authored-by: Conrad Ludgate <conrad.ludgate@truelayer.com>
Diffstat (limited to 'atuin-client/src/import/zsh_histdb.rs')
-rw-r--r--atuin-client/src/import/zsh_histdb.rs36
1 files changed, 19 insertions, 17 deletions
diff --git a/atuin-client/src/import/zsh_histdb.rs b/atuin-client/src/import/zsh_histdb.rs
index 2f9a192d..78a7176b 100644
--- a/atuin-client/src/import/zsh_histdb.rs
+++ b/atuin-client/src/import/zsh_histdb.rs
@@ -61,27 +61,29 @@ pub struct HistDbEntry {
impl From<HistDbEntry> for History {
fn from(histdb_item: HistDbEntry) -> Self {
- History::new(
- DateTime::from_utc(histdb_item.start_time, Utc), // must assume UTC?
- String::from_utf8(histdb_item.argv)
- .unwrap_or_else(|_e| String::from(""))
- .trim_end()
- .to_string(),
- String::from_utf8(histdb_item.dir)
- .unwrap_or_else(|_e| String::from(""))
- .trim_end()
- .to_string(),
- 0, // assume 0, we have no way of knowing :(
- histdb_item.duration,
- None,
- Some(
+ let imported = History::import()
+ .timestamp(DateTime::from_utc(histdb_item.start_time, Utc))
+ .command(
+ String::from_utf8(histdb_item.argv)
+ .unwrap_or_else(|_e| String::from(""))
+ .trim_end()
+ .to_string(),
+ )
+ .cwd(
+ String::from_utf8(histdb_item.dir)
+ .unwrap_or_else(|_e| String::from(""))
+ .trim_end()
+ .to_string(),
+ )
+ .duration(histdb_item.duration)
+ .hostname(
String::from_utf8(histdb_item.host)
.unwrap_or_else(|_e| String::from(""))
.trim_end()
.to_string(),
- ),
- None,
- )
+ );
+
+ imported.build().into()
}
}