aboutsummaryrefslogtreecommitdiffstats
path: root/crates/turtle/src/command/client/search/engines
diff options
context:
space:
mode:
Diffstat (limited to 'crates/turtle/src/command/client/search/engines')
-rw-r--r--crates/turtle/src/command/client/search/engines/daemon.rs11
-rw-r--r--crates/turtle/src/command/client/search/engines/db.rs11
-rw-r--r--crates/turtle/src/command/client/search/engines/skim.rs15
3 files changed, 13 insertions, 24 deletions
diff --git a/crates/turtle/src/command/client/search/engines/daemon.rs b/crates/turtle/src/command/client/search/engines/daemon.rs
index df5ab9f8..55b3c6f2 100644
--- a/crates/turtle/src/command/client/search/engines/daemon.rs
+++ b/crates/turtle/src/command/client/search/engines/daemon.rs
@@ -1,6 +1,6 @@
use crate::atuin_client::{
- database::{Database, OptFilters},
- history::{AUTHOR_FILTER_ALL_USER, History},
+ database::{ClientSqlite, OptFilters},
+ history::History,
settings::{SearchMode, Settings},
};
use crate::atuin_daemon::client::{DaemonClientErrorKind, SearchClient, classify_error};
@@ -75,7 +75,7 @@ impl Search {
async fn fallback_to_db_search(
&self,
state: &SearchState,
- db: &dyn Database,
+ db: &ClientSqlite,
) -> Result<Vec<History>> {
let results = db
.search(
@@ -85,7 +85,6 @@ impl Search {
state.input.as_str(),
OptFilters {
limit: Some(200),
- authors: vec![AUTHOR_FILTER_ALL_USER.to_string()],
..Default::default()
},
)
@@ -95,7 +94,7 @@ impl Search {
}
#[instrument(skip_all, level = Level::TRACE, name = "hydrate_from_db", fields(count = ids.len()))]
- async fn hydrate_from_db(&self, db: &dyn Database, ids: &[String]) -> Result<Vec<History>> {
+ async fn hydrate_from_db(&self, db: &ClientSqlite, ids: &[String]) -> Result<Vec<History>> {
let placeholders: Vec<String> = ids.iter().map(|id| format!("'{id}'")).collect();
let sql_query = format!(
"SELECT * FROM history WHERE id IN ({}) ORDER BY timestamp DESC",
@@ -111,7 +110,7 @@ impl SearchEngine for Search {
async fn full_query(
&mut self,
state: &SearchState,
- db: &mut dyn Database,
+ db: &mut ClientSqlite,
) -> Result<Vec<History>> {
let query = state.input.as_str().to_string();
diff --git a/crates/turtle/src/command/client/search/engines/db.rs b/crates/turtle/src/command/client/search/engines/db.rs
index 86917a02..e6657b17 100644
--- a/crates/turtle/src/command/client/search/engines/db.rs
+++ b/crates/turtle/src/command/client/search/engines/db.rs
@@ -1,12 +1,10 @@
use super::{SearchEngine, SearchState};
-use async_trait::async_trait;
use crate::atuin_client::{
- database::Database,
- database::OptFilters,
- database::{QueryToken, QueryTokenizer},
- history::{AUTHOR_FILTER_ALL_USER, History},
+ database::{ClientSqlite, OptFilters, QueryToken, QueryTokenizer},
+ history::History,
settings::SearchMode,
};
+use async_trait::async_trait;
use eyre::Result;
use norm::Metric;
use norm::fzf::{FzfParser, FzfV2};
@@ -21,7 +19,7 @@ impl SearchEngine for Search {
async fn full_query(
&mut self,
state: &SearchState,
- db: &mut dyn Database,
+ db: &mut ClientSqlite,
) -> Result<Vec<History>> {
let results = db
.search(
@@ -31,7 +29,6 @@ impl SearchEngine for Search {
state.input.as_str(),
OptFilters {
limit: Some(200),
- authors: vec![AUTHOR_FILTER_ALL_USER.to_string()],
..Default::default()
},
)
diff --git a/crates/turtle/src/command/client/search/engines/skim.rs b/crates/turtle/src/command/client/search/engines/skim.rs
index fe2bdea3..a6a77573 100644
--- a/crates/turtle/src/command/client/search/engines/skim.rs
+++ b/crates/turtle/src/command/client/search/engines/skim.rs
@@ -1,18 +1,13 @@
use std::path::Path;
+use crate::atuin_client::{database::ClientSqlite, history::History, settings::FilterMode};
use async_trait::async_trait;
-use crate::atuin_client::{
- database::Database,
- history::{History, is_known_agent},
- settings::FilterMode,
-};
use eyre::Result;
use fuzzy_matcher::{FuzzyMatcher, skim::SkimMatcherV2};
use itertools::Itertools;
use time::OffsetDateTime;
use tokio::task::yield_now;
use tracing::{Level, instrument, warn};
-use uuid;
use super::{SearchEngine, SearchState};
@@ -36,7 +31,7 @@ impl SearchEngine for Search {
async fn full_query(
&mut self,
state: &SearchState,
- db: &mut dyn Database,
+ db: &mut ClientSqlite,
) -> Result<Vec<History>> {
if self.all_history.is_empty() {
self.all_history = load_all_history(db).await;
@@ -56,7 +51,7 @@ impl SearchEngine for Search {
}
#[instrument(skip_all, level = Level::TRACE, name = "load_all_history")]
-async fn load_all_history(db: &dyn Database) -> Vec<(History, i32)> {
+async fn load_all_history(db: &ClientSqlite) -> Vec<(History, i32)> {
db.all_with_count().await.unwrap()
}
@@ -76,9 +71,7 @@ async fn fuzzy_search(
if i % 256 == 0 {
yield_now().await;
}
- if is_known_agent(&history.author) {
- continue;
- }
+
let context = &state.context;
let git_root = context
.git_root