aboutsummaryrefslogtreecommitdiffstats
path: root/src/command/client/search/engines.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/command/client/search/engines.rs')
-rw-r--r--src/command/client/search/engines.rs46
1 files changed, 0 insertions, 46 deletions
diff --git a/src/command/client/search/engines.rs b/src/command/client/search/engines.rs
deleted file mode 100644
index 878b1431..00000000
--- a/src/command/client/search/engines.rs
+++ /dev/null
@@ -1,46 +0,0 @@
-use async_trait::async_trait;
-use atuin_client::{
- database::{Context, Database},
- history::History,
- settings::{FilterMode, SearchMode},
-};
-use eyre::Result;
-
-use super::cursor::Cursor;
-
-pub mod db;
-pub mod skim;
-
-pub fn engine(search_mode: SearchMode) -> Box<dyn SearchEngine> {
- match search_mode {
- SearchMode::Skim => Box::new(skim::Search::new()) as Box<_>,
- mode => Box::new(db::Search(mode)) as Box<_>,
- }
-}
-
-pub struct SearchState {
- pub input: Cursor,
- pub filter_mode: FilterMode,
- pub context: Context,
-}
-
-#[async_trait]
-pub trait SearchEngine: Send + Sync + 'static {
- async fn full_query(
- &mut self,
- state: &SearchState,
- db: &mut dyn Database,
- ) -> Result<Vec<History>>;
-
- async fn query(&mut self, state: &SearchState, db: &mut dyn Database) -> Result<Vec<History>> {
- if state.input.as_str().is_empty() {
- Ok(db
- .list(state.filter_mode, &state.context, Some(200), true)
- .await?
- .into_iter()
- .collect::<Vec<_>>())
- } else {
- self.full_query(state, db).await
- }
- }
-}