Fix preset searches, and expose in text search

This commit is contained in:
Damien Elmes 2023-09-17 12:51:22 +10:00
parent c0b4b3d0e7
commit 736054a2e4
2 changed files with 4 additions and 1 deletions

View file

@ -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")?,

View file

@ -64,7 +64,7 @@ impl SqliteStorage {
pub(crate) fn get_deck_config_id_by_name(&self, name: &str) -> Result<Option<DeckConfigId>> {
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()