diff options
| author | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2026-06-13 01:36:41 +0200 |
|---|---|---|
| committer | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2026-06-13 01:36:41 +0200 |
| commit | 47b76481e51451827530714512b30882d85e3a9a (patch) | |
| tree | 3e64edfa304e11e4dff506683dd0a7ea7929123e /crates/turtle/src/atuin_client/database.rs | |
| parent | chore(treewide): Fix some of `clippy`'s error (diff) | |
| download | atuin-47b76481e51451827530714512b30882d85e3a9a.zip | |
chore(treewide): Also fix all `clippy` warnings
Diffstat (limited to 'crates/turtle/src/atuin_client/database.rs')
| -rw-r--r-- | crates/turtle/src/atuin_client/database.rs | 37 |
1 files changed, 20 insertions, 17 deletions
diff --git a/crates/turtle/src/atuin_client/database.rs b/crates/turtle/src/atuin_client/database.rs index 24f017be..c730b1d4 100644 --- a/crates/turtle/src/atuin_client/database.rs +++ b/crates/turtle/src/atuin_client/database.rs @@ -178,6 +178,7 @@ impl ClientSqlite { Ok(()) } + #[expect(clippy::needless_pass_by_value)] fn query_history_inner(row: SqliteRow) -> History { let deleted_at: Option<i64> = row.get("deleted_at"); let hostname: String = row.get("hostname"); @@ -205,7 +206,8 @@ impl ClientSqlite { .author(author) .intent(intent) .deleted_at( - deleted_at.and_then(|t| OffsetDateTime::from_unix_timestamp_nanos(i128::from(t)).ok()), + deleted_at + .and_then(|t| OffsetDateTime::from_unix_timestamp_nanos(i128::from(t)).ok()), ) .build() .into() @@ -265,11 +267,10 @@ impl ClientSqlite { query.and_where_is_null("deleted_at"); } - let git_root = if let Some(git_root) = context.git_root.clone() { - git_root.to_str().unwrap_or("/").to_string() - } else { - context.cwd.clone() - }; + let git_root = context.git_root.clone().map_or_else( + || context.cwd.clone(), + |git_root| git_root.to_str().unwrap_or("/").to_string(), + ); let session_start = get_session_start_time(&context.session); @@ -352,6 +353,7 @@ impl ClientSqlite { // Yes I know, it's a lot. // Could maybe break it down to a searchparams struct or smth but that feels a little... pointless. // Been debating maybe a DSL for search? eg "before:time limit:1 the query" + #[expect(clippy::too_many_lines)] pub(crate) async fn search( &self, search_mode: SearchMode, @@ -380,11 +382,10 @@ impl ClientSqlite { sql.order_desc("timestamp"); } - let git_root = if let Some(git_root) = context.git_root.clone() { - git_root.to_str().unwrap_or("/").to_string() - } else { - context.cwd.clone() - }; + let git_root = context.git_root.clone().map_or_else( + || context.cwd.clone(), + |git_root| git_root.to_str().unwrap_or("/").to_string(), + ); let session_start = get_session_start_time(&context.session); @@ -1120,6 +1121,7 @@ mod test { } #[tokio::test(flavor = "multi_thread")] + #[expect(clippy::similar_names)] async fn test_paged_basic() { let mut db = ClientSqlite::new("sqlite::memory:", test_local_timeout()) .await @@ -1188,8 +1190,8 @@ mod test { // With unique flag - should get 3 (duplicates collapsed) let mut paged_unique = db.all_paged(10, false, true); - let page_unique = paged_unique.next().await.unwrap().unwrap(); - assert_eq!(page_unique.len(), 3); + let paged_unique = paged_unique.next().await.unwrap().unwrap(); + assert_eq!(paged_unique.len(), 3); } #[tokio::test(flavor = "multi_thread")] @@ -1301,11 +1303,12 @@ impl<'a> Iterator for QueryTokenizer<'a> { return Some(QueryToken::Or); } - let mut is_inverse = false; - if let Some(s) = part.strip_prefix('!') { + let is_inverse = part.strip_prefix('!').is_some_and(|s| { part = s; - is_inverse = true; - } + true + }); + + #[expect(clippy::option_if_let_else, reason = "It's too ugly")] let token = if let Some(s) = part.strip_prefix('^') { QueryToken::MatchStart(s, is_inverse) } else if let Some(s) = part.strip_suffix('$') { |
