Simplify matching code in launcher
This commit is contained in:
+6
-15
@@ -232,25 +232,16 @@ impl Widget for Launcher {
|
|||||||
|
|
||||||
for desktop in self.options.iter() {
|
for desktop in self.options.iter() {
|
||||||
let d = desktop.clone();
|
let d = desktop.clone();
|
||||||
m.push((
|
if let Some(ma) = fuzzy_match(&desktop.name.to_lowercase(), &self.input.to_lowercase()) {
|
||||||
fuzzy_match(&desktop.name.to_lowercase(), &self.input.to_lowercase()),
|
m.push((ma, d.clone(), 100));
|
||||||
d.clone(),
|
}
|
||||||
100,
|
|
||||||
));
|
|
||||||
for keyword in desktop.keywords.iter() {
|
for keyword in desktop.keywords.iter() {
|
||||||
m.push((
|
if let Some(ma) = fuzzy_match(&keyword.to_lowercase(), &self.input.to_lowercase()) {
|
||||||
fuzzy_match(&keyword.to_lowercase(), &self.input.to_lowercase()),
|
m.push((ma, d.clone(), 90));
|
||||||
d.clone(),
|
}
|
||||||
90,
|
|
||||||
));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let mut m = m.iter()
|
|
||||||
.filter(|(x, _, _)| x.is_some())
|
|
||||||
.map(|(x, y, z)| (x.unwrap(), y.clone(), z.clone()))
|
|
||||||
.collect::<Vec<(i64, Desktop, u64)>>();
|
|
||||||
|
|
||||||
m.sort_by(|(x1, y1, z1), (x2, y2, z2)| {
|
m.sort_by(|(x1, y1, z1), (x2, y2, z2)| {
|
||||||
if z1 > z2 {
|
if z1 > z2 {
|
||||||
Ordering::Less
|
Ordering::Less
|
||||||
|
|||||||
Reference in New Issue
Block a user