Skip to content

Commit feae0c3

Browse files
committed
refactor: Improved search function
1 parent 70c2045 commit feae0c3

File tree

1 file changed

+8
-19
lines changed

1 file changed

+8
-19
lines changed

src/lib.rs

Lines changed: 8 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -48,28 +48,17 @@ pub fn run(config: Config) -> Result<(), Box<dyn Error>> {
4848
}
4949

5050
pub fn search<'a>(query: &str, contents: &'a str) -> Vec<&'a str> {
51-
let mut results = Vec::new();
52-
53-
for line in contents.lines() {
54-
if line.contains(query) {
55-
results.push(line);
56-
}
57-
}
58-
59-
results
51+
contents.lines()
52+
.filter(|line| line.contains(query))
53+
.collect()
6054
}
6155

6256
pub fn search_case_insensitive<'b>(query: &str, contents: &'b str) -> Vec<&'b str> {
63-
let query = query.to_lowercase();
64-
let mut results = Vec::new();
65-
66-
for line in contents.lines() {
67-
if line.to_lowercase().contains(&query) {
68-
results.push(line);
69-
}
70-
}
71-
72-
results
57+
let lower_query = query.to_lowercase();
58+
contents
59+
.lines()
60+
.filter(|line: &&'b str| line.to_lowercase().contains(&lower_query))
61+
.collect()
7362
}
7463

7564
#[cfg(test)]

0 commit comments

Comments
 (0)