diff options
| author | Vlad Stepanov <8uk.8ak@gmail.com> | 2023-06-15 14:29:40 +0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-06-15 10:29:40 +0000 |
| commit | 4077c33adfdacaf0ed68657a1955a7b69a78d373 (patch) | |
| tree | 432d5c23992388a6c1bd4b11d41785ea00d56905 /atuin-client/src/import/zsh_histdb.rs | |
| parent | Add namespaces to kv store (#1052) (diff) | |
| download | atuin-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.rs | 36 |
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() } } |
