12 let args
: Vec
<String
> = env
::args().collect();
14 let config
= Config
::build(&args
).unwrap_or_else(|err
| {
15 println
!("Problem parsing arguments: {err}");
19 println
!("Searching for {}", config
.query
);
20 println
!("In file {}", config
.file_path
);
26 fn run(config
: Config
) -> Result
<(), Box
<dyn Error
>> {
27 let contents
= fs
::read_to_string(config
.file_path
)?
;
29 println
!("With text:\n{contents}");
41 fn build(args
: &[String
]) -> Result
<Config
, &'
static str> {
43 return Err("not enough arguments");
46 let query
= args
[1].clone();
47 let file_path
= args
[2].clone();
49 Ok(Config { query, file_path }
)