From 5b24d9e4a641657d839dfd461acea0ec64df4108 Mon Sep 17 00:00:00 2001 From: RumovZ Date: Tue, 22 Dec 2020 11:06:55 +0100 Subject: [PATCH] Expose search writer --- rslib/backend.proto | 1 + rslib/src/backend/mod.rs | 6 +++++- rslib/src/search/mod.rs | 2 ++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/rslib/backend.proto b/rslib/backend.proto index 675170fb6..821336385 100644 --- a/rslib/backend.proto +++ b/rslib/backend.proto @@ -84,6 +84,7 @@ service BackendService { // searching + rpc NormSearch (String) returns (String); rpc SearchCards (SearchCardsIn) returns (SearchCardsOut); rpc SearchNotes (SearchNotesIn) returns (SearchNotesOut); rpc FindAndReplace (FindAndReplaceIn) returns (UInt32); diff --git a/rslib/src/backend/mod.rs b/rslib/src/backend/mod.rs index 23b124b01..de26e0db4 100644 --- a/rslib/src/backend/mod.rs +++ b/rslib/src/backend/mod.rs @@ -32,7 +32,7 @@ use crate::{ }, sched::cutoff::local_minutes_west_for_stamp, sched::timespan::{answer_button_time, time_span}, - search::SortMode, + search::{SortMode, norm_search}, stats::studied_today, sync::{ get_remote_sync_meta, sync_abort, sync_login, FullSyncProgress, NormalSyncProgress, @@ -393,6 +393,10 @@ impl BackendService for Backend { // searching //----------------------------------------------- + fn norm_search(&self, input: pb::String) -> Result { + Ok(norm_search(&input.val)?.into()) + } + fn search_cards(&self, input: pb::SearchCardsIn) -> Result { self.with_col(|col| { let order = if let Some(order) = input.order { diff --git a/rslib/src/search/mod.rs b/rslib/src/search/mod.rs index 4ab4dfbef..48e67666c 100644 --- a/rslib/src/search/mod.rs +++ b/rslib/src/search/mod.rs @@ -1,6 +1,8 @@ mod cards; mod notes; mod parser; +mod writer; mod sqlwriter; pub use cards::SortMode; +pub use writer::norm_search;