1use std::{env, error::Error};
4
5pub struct Config {
6 query: String,
7 content: String,
8}
9pub fn config_build(mut args: env::Args) -> Result<Config, Box<dyn Error>> {
11 args.next();
12
13 let query = args.next().ok_or_else(|| "no query".to_string())?;
14 let content = args.next().ok_or_else(|| "No content".to_string())?;
15
16 Ok(Config { query, content })
17}
18
19pub fn search<'a>(config: &'a Config) -> Vec<&'a str> {
20 config
21 .content
22 .lines()
23 .filter(|line| line.contains(&config.query))
24 .collect()
25}