use crate::command::hoard_command::HoardCommand;
use crate::command::trove::CommandTrove;
pub fn query_trove(trove: &CommandTrove, query_term: &str) -> CommandTrove {
let commands: Vec<HoardCommand> = trove
.commands
.clone()
.into_iter()
.filter(|c| {
c.name.contains(query_term)
|| c.namespace.contains(query_term)
|| c.tags_as_string().contains(query_term)
|| c.command.contains(query_term)
|| c.description
.clone()
.unwrap_or_default()
.contains(query_term)
})
.collect();
CommandTrove::from_commands(&commands)
}