aboutsummaryrefslogtreecommitdiffstats
path: root/crates/atuin-client/src/import
diff options
context:
space:
mode:
Diffstat (limited to 'crates/atuin-client/src/import')
-rw-r--r--crates/atuin-client/src/import/bash.rs12
-rw-r--r--crates/atuin-client/src/import/fish.rs8
-rw-r--r--crates/atuin-client/src/import/mod.rs2
-rw-r--r--crates/atuin-client/src/import/nu.rs4
-rw-r--r--crates/atuin-client/src/import/nu_histdb.rs4
-rw-r--r--crates/atuin-client/src/import/replxx.rs15
-rw-r--r--crates/atuin-client/src/import/resh.rs4
-rw-r--r--crates/atuin-client/src/import/xonsh.rs6
-rw-r--r--crates/atuin-client/src/import/xonsh_sqlite.rs8
-rw-r--r--crates/atuin-client/src/import/zsh.rs6
-rw-r--r--crates/atuin-client/src/import/zsh_histdb.rs8
11 files changed, 42 insertions, 35 deletions
diff --git a/crates/atuin-client/src/import/bash.rs b/crates/atuin-client/src/import/bash.rs
index ade1f751..93d1fcf5 100644
--- a/crates/atuin-client/src/import/bash.rs
+++ b/crates/atuin-client/src/import/bash.rs
@@ -2,11 +2,11 @@ use std::{path::PathBuf, str};
use async_trait::async_trait;
use directories::UserDirs;
-use eyre::{eyre, Result};
+use eyre::{Result, eyre};
use itertools::Itertools;
use time::{Duration, OffsetDateTime};
-use super::{get_histpath, unix_byte_lines, Importer, Loader};
+use super::{Importer, Loader, get_histpath, unix_byte_lines};
use crate::history::History;
use crate::import::read_to_end;
@@ -73,7 +73,9 @@ impl Importer for Bash {
LineType::Empty => {} // do nothing
LineType::Timestamp(t) => {
if t < next_timestamp {
- warn!("Time reversal detected in Bash history! Commands may be ordered incorrectly.");
+ warn!(
+ "Time reversal detected in Bash history! Commands may be ordered incorrectly."
+ );
}
next_timestamp = t;
}
@@ -126,9 +128,9 @@ fn try_parse_line_as_timestamp(line: &str) -> Option<OffsetDateTime> {
mod test {
use std::cmp::Ordering;
- use itertools::{assert_equal, Itertools};
+ use itertools::{Itertools, assert_equal};
- use crate::import::{tests::TestLoader, Importer};
+ use crate::import::{Importer, tests::TestLoader};
use super::Bash;
diff --git a/crates/atuin-client/src/import/fish.rs b/crates/atuin-client/src/import/fish.rs
index 714b2d01..9fcf624c 100644
--- a/crates/atuin-client/src/import/fish.rs
+++ b/crates/atuin-client/src/import/fish.rs
@@ -5,10 +5,10 @@ use std::path::PathBuf;
use async_trait::async_trait;
use directories::BaseDirs;
-use eyre::{eyre, Result};
+use eyre::{Result, eyre};
use time::OffsetDateTime;
-use super::{unix_byte_lines, Importer, Loader};
+use super::{Importer, Loader, unix_byte_lines};
use crate::history::History;
use crate::import::read_to_end;
@@ -110,7 +110,7 @@ impl Importer for Fish {
#[cfg(test)]
mod test {
- use crate::import::{tests::TestLoader, Importer};
+ use crate::import::{Importer, tests::TestLoader};
use super::Fish;
@@ -160,7 +160,7 @@ ERROR
// simple wrapper for fish history entry
macro_rules! fishtory {
- ($timestamp:expr, $command:expr) => {
+ ($timestamp:expr_2021, $command:expr_2021) => {
let h = history.next().expect("missing entry in history");
assert_eq!(h.command.as_str(), $command);
assert_eq!(h.timestamp.unix_timestamp(), $timestamp);
diff --git a/crates/atuin-client/src/import/mod.rs b/crates/atuin-client/src/import/mod.rs
index eb3ce045..1d4f29f3 100644
--- a/crates/atuin-client/src/import/mod.rs
+++ b/crates/atuin-client/src/import/mod.rs
@@ -3,7 +3,7 @@ use std::io::Read;
use std::path::PathBuf;
use async_trait::async_trait;
-use eyre::{bail, Result};
+use eyre::{Result, bail};
use memchr::Memchr;
use crate::history::History;
diff --git a/crates/atuin-client/src/import/nu.rs b/crates/atuin-client/src/import/nu.rs
index a45d83c5..cae90ac4 100644
--- a/crates/atuin-client/src/import/nu.rs
+++ b/crates/atuin-client/src/import/nu.rs
@@ -5,10 +5,10 @@ use std::path::PathBuf;
use async_trait::async_trait;
use directories::BaseDirs;
-use eyre::{eyre, Result};
+use eyre::{Result, eyre};
use time::OffsetDateTime;
-use super::{unix_byte_lines, Importer, Loader};
+use super::{Importer, Loader, unix_byte_lines};
use crate::history::History;
use crate::import::read_to_end;
diff --git a/crates/atuin-client/src/import/nu_histdb.rs b/crates/atuin-client/src/import/nu_histdb.rs
index f0e8e95c..a13cb2b4 100644
--- a/crates/atuin-client/src/import/nu_histdb.rs
+++ b/crates/atuin-client/src/import/nu_histdb.rs
@@ -5,8 +5,8 @@ use std::path::PathBuf;
use async_trait::async_trait;
use directories::BaseDirs;
-use eyre::{eyre, Result};
-use sqlx::{sqlite::SqlitePool, Pool};
+use eyre::{Result, eyre};
+use sqlx::{Pool, sqlite::SqlitePool};
use time::{Duration, OffsetDateTime};
use super::Importer;
diff --git a/crates/atuin-client/src/import/replxx.rs b/crates/atuin-client/src/import/replxx.rs
index b73522ce..e1590c69 100644
--- a/crates/atuin-client/src/import/replxx.rs
+++ b/crates/atuin-client/src/import/replxx.rs
@@ -2,10 +2,10 @@ use std::{path::PathBuf, str};
use async_trait::async_trait;
use directories::UserDirs;
-use eyre::{eyre, Result};
-use time::{macros::format_description, OffsetDateTime, PrimitiveDateTime};
+use eyre::{Result, eyre};
+use time::{OffsetDateTime, PrimitiveDateTime, macros::format_description};
-use super::{get_histpath, unix_byte_lines, Importer, Loader};
+use super::{Importer, Loader, get_histpath, unix_byte_lines};
use crate::history::History;
use crate::import::read_to_end;
@@ -72,7 +72,7 @@ fn try_parse_line_as_timestamp(line: &str) -> Option<OffsetDateTime> {
#[cfg(test)]
mod test {
- use crate::import::{tests::TestLoader, Importer};
+ use crate::import::{Importer, tests::TestLoader};
use super::Replxx;
@@ -100,7 +100,7 @@ CREATE TABLE test( stamp DateTime('UTC'))ENGINE = MergeTreePARTITION BY toDat
// simple wrapper for replxx history entry
macro_rules! history {
- ($timestamp:expr, $command:expr) => {
+ ($timestamp:expr_2021, $command:expr_2021) => {
let h = history.next().expect("missing entry in history");
assert_eq!(h.command.as_str(), $command);
assert_eq!(h.timestamp.unix_timestamp(), $timestamp);
@@ -114,6 +114,9 @@ CREATE TABLE test( stamp DateTime('UTC'))ENGINE = MergeTreePARTITION BY toDat
history!(1707603396, "select * from numbers(10)");
history!(1707603401, "select * from system.numbers");
history!(1707603568, "select 1");
- history!(1708600533, "CREATE TABLE test\n( stamp DateTime('UTC'))\nENGINE = MergeTree\nPARTITION BY toDate(stamp)\norder by tuple() as select toDateTime('2020-01-01')+number*60 from numbers(80000);");
+ history!(
+ 1708600533,
+ "CREATE TABLE test\n( stamp DateTime('UTC'))\nENGINE = MergeTree\nPARTITION BY toDate(stamp)\norder by tuple() as select toDateTime('2020-01-01')+number*60 from numbers(80000);"
+ );
}
}
diff --git a/crates/atuin-client/src/import/resh.rs b/crates/atuin-client/src/import/resh.rs
index 396d11fd..1be23396 100644
--- a/crates/atuin-client/src/import/resh.rs
+++ b/crates/atuin-client/src/import/resh.rs
@@ -2,13 +2,13 @@ use std::path::PathBuf;
use async_trait::async_trait;
use directories::UserDirs;
-use eyre::{eyre, Result};
+use eyre::{Result, eyre};
use serde::Deserialize;
use atuin_common::utils::uuid_v7;
use time::OffsetDateTime;
-use super::{get_histpath, unix_byte_lines, Importer, Loader};
+use super::{Importer, Loader, get_histpath, unix_byte_lines};
use crate::history::History;
use crate::import::read_to_end;
diff --git a/crates/atuin-client/src/import/xonsh.rs b/crates/atuin-client/src/import/xonsh.rs
index 19ce4cf6..d041c648 100644
--- a/crates/atuin-client/src/import/xonsh.rs
+++ b/crates/atuin-client/src/import/xonsh.rs
@@ -4,13 +4,13 @@ use std::path::{Path, PathBuf};
use async_trait::async_trait;
use directories::BaseDirs;
-use eyre::{eyre, Result};
+use eyre::{Result, eyre};
use serde::Deserialize;
use time::OffsetDateTime;
-use uuid::timestamp::{context::NoContext, Timestamp};
use uuid::Uuid;
+use uuid::timestamp::{Timestamp, context::NoContext};
-use super::{get_histpath, Importer, Loader};
+use super::{Importer, Loader, get_histpath};
use crate::history::History;
use crate::utils::get_host_user;
diff --git a/crates/atuin-client/src/import/xonsh_sqlite.rs b/crates/atuin-client/src/import/xonsh_sqlite.rs
index 2817dc63..1b8d76fc 100644
--- a/crates/atuin-client/src/import/xonsh_sqlite.rs
+++ b/crates/atuin-client/src/import/xonsh_sqlite.rs
@@ -3,14 +3,14 @@ use std::path::PathBuf;
use async_trait::async_trait;
use directories::BaseDirs;
-use eyre::{eyre, Result};
+use eyre::{Result, eyre};
use futures::TryStreamExt;
-use sqlx::{sqlite::SqlitePool, FromRow, Row};
+use sqlx::{FromRow, Row, sqlite::SqlitePool};
use time::OffsetDateTime;
-use uuid::timestamp::{context::NoContext, Timestamp};
use uuid::Uuid;
+use uuid::timestamp::{Timestamp, context::NoContext};
-use super::{get_histpath, Importer, Loader};
+use super::{Importer, Loader, get_histpath};
use crate::history::History;
use crate::utils::get_host_user;
diff --git a/crates/atuin-client/src/import/zsh.rs b/crates/atuin-client/src/import/zsh.rs
index 07785967..f4b83cac 100644
--- a/crates/atuin-client/src/import/zsh.rs
+++ b/crates/atuin-client/src/import/zsh.rs
@@ -6,10 +6,10 @@ use std::path::PathBuf;
use async_trait::async_trait;
use directories::UserDirs;
-use eyre::{eyre, Result};
+use eyre::{Result, eyre};
use time::OffsetDateTime;
-use super::{get_histpath, unix_byte_lines, Importer, Loader};
+use super::{Importer, Loader, get_histpath, unix_byte_lines};
use crate::history::History;
use crate::import::read_to_end;
@@ -38,7 +38,7 @@ fn default_histpath() -> Result<PathBuf> {
None => {
break Err(eyre!(
"Could not find history file. Try setting and exporting $HISTFILE"
- ))
+ ));
}
}
}
diff --git a/crates/atuin-client/src/import/zsh_histdb.rs b/crates/atuin-client/src/import/zsh_histdb.rs
index eb72baa3..cac85566 100644
--- a/crates/atuin-client/src/import/zsh_histdb.rs
+++ b/crates/atuin-client/src/import/zsh_histdb.rs
@@ -38,8 +38,8 @@ use std::path::{Path, PathBuf};
use async_trait::async_trait;
use atuin_common::utils::uuid_v7;
use directories::UserDirs;
-use eyre::{eyre, Result};
-use sqlx::{sqlite::SqlitePool, Pool};
+use eyre::{Result, eyre};
+use sqlx::{Pool, sqlite::SqlitePool};
use time::PrimitiveDateTime;
use super::Importer;
@@ -178,10 +178,12 @@ mod test {
use sqlx::sqlite::SqlitePoolOptions;
use std::env;
#[tokio::test(flavor = "multi_thread")]
+ #[allow(unsafe_code)]
async fn test_env_vars() {
let test_env_db = "nonstd-zsh-history.db";
let key = "HISTDB_FILE";
- env::set_var(key, test_env_db);
+ // TODO: Audit that the environment access only happens in single-threaded code.
+ unsafe { env::set_var(key, test_env_db) };
// test the env got set
assert_eq!(env::var(key).unwrap(), test_env_db.to_string());