From 760ebddedb8c2ef08f36940534399ac780c67c1f Mon Sep 17 00:00:00 2001 From: Ryan Frishkorn Date: Thu, 28 Sep 2023 21:06:37 -0700 Subject: [PATCH] Report search count after context output --- src/main.rs | 36 ++++++++++++++++-------------------- src/snip/doc.rs | 6 +++--- 2 files changed, 19 insertions(+), 23 deletions(-) diff --git a/src/main.rs b/src/main.rs index 94f1686..cefbbf0 100644 --- a/src/main.rs +++ b/src/main.rs @@ -708,22 +708,6 @@ fn main() -> Result<(), Box> { Err(e) => return Err(Box::new(e)), }; - // print to stderr to keep redirection clean - eprint!("document"); - if search_results.items.len() != 1 { - eprint!("s"); - } - eprint!(": {}", search_results.items.len()); - // print count of matched terms - let mut term_match_count = 0; - for item in &search_results.items { - for m in &item.matches { - term_match_count += m.1.len(); - } - } - eprint!(" occurrences: {}", term_match_count); - eprintln!(); - // exit if only counts are requested if sub_matches.get_flag("count") { return Ok(()); @@ -734,10 +718,7 @@ fn main() -> Result<(), Box> { return Ok(()); } - // newline for clarity - eprintln!(); - - for item in search_results.items { + for item in &search_results.items { let mut s = snip::get_from_uuid(&conn, &item.uuid)?; s.analyze()?; println!("{}", s.name.white()); @@ -781,6 +762,21 @@ fn main() -> Result<(), Box> { println!(); } + // print to stderr to keep redirection clean + eprint!("document"); + if search_results.items.len() != 1 { + eprint!("s"); + } + eprint!(": {}", search_results.items.len()); + // print count of matched terms + let mut term_match_count = 0; + for item in &search_results.items { + for m in &item.matches { + term_match_count += m.1.len(); + } + } + eprintln!(" occurrences: {}", term_match_count); + /* // single term direct data search for (i, term) in terms_stem.iter().enumerate() { diff --git a/src/snip/doc.rs b/src/snip/doc.rs index 7b9163e..60f30a3 100644 --- a/src/snip/doc.rs +++ b/src/snip/doc.rs @@ -883,18 +883,18 @@ mod tests { let conn = prepare_database()?; let id = Uuid::try_parse(ID_STR)?; - let s = snip::get_from_uuid(&conn, &id)?; + let s = get_from_uuid(&conn, &id)?; // first remove from database remove_snip(&conn, id)?; // verify removal - if snip::get_from_uuid(&conn, &id).is_ok() { + if get_from_uuid(&conn, &id).is_ok() { panic!("expected missing document, got document with id {}", id); } // insert and verify presence s.insert(&conn)?; - if snip::get_from_uuid(&conn, &id).is_err() { + if get_from_uuid(&conn, &id).is_err() { panic!("expected document, got Err searching for id {}", id); }