diff --git a/rslib/src/search/parser.rs b/rslib/src/search/parser.rs index 2490faa8f..597ad07d3 100644 --- a/rslib/src/search/parser.rs +++ b/rslib/src/search/parser.rs @@ -355,6 +355,7 @@ fn search_node_for_text_with_argument<'a>( "w" => SearchNode::WordBoundary(unescape(val)?), "dupe" => parse_dupe(val)?, "has-cd" => SearchNode::CustomData(unescape(val)?), + "preset" => SearchNode::Preset(val.into()), // anything else is a field search _ => parse_single_field(key, val)?, }) @@ -893,6 +894,8 @@ mod test { vec![Search(Deck("default one".into()))] ); + assert_eq!(parse("preset:default")?, vec![Search(Preset("default".into()))]); + assert_eq!(parse("note:basic")?, vec![Search(Notetype("basic".into()))]); assert_eq!( parse("tag:hard")?, diff --git a/rslib/src/storage/deckconfig/mod.rs b/rslib/src/storage/deckconfig/mod.rs index 896b0fa13..56306a74f 100644 --- a/rslib/src/storage/deckconfig/mod.rs +++ b/rslib/src/storage/deckconfig/mod.rs @@ -64,7 +64,7 @@ impl SqliteStorage { pub(crate) fn get_deck_config_id_by_name(&self, name: &str) -> Result> { self.db - .prepare_cached("select id from deck_config where WHERE name = ?")? + .prepare_cached("select id from deck_config WHERE name = ?")? .query_and_then([name], |row| Ok::<_, AnkiError>(DeckConfigId(row.get(0)?)))? .next() .transpose()