A simple CPU rendered GUI IDE experience.
Diffstat (limited to 'src/complete.rs')
-rw-r--r--src/complete.rs16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/complete.rs b/src/complete.rs
index bdc5866..fc652c3 100644
--- a/src/complete.rs
+++ b/src/complete.rs
@@ -159,20 +159,30 @@ fn r(
}))
.for_each(|(a, b)| *a = b);
}
+ let s = if let Some(ref ft) = x.filter_text
+ && &x.label != ft
+ // l = &x
+ // ft = x
+ && let Some(e) = x.label.find(ft)
+ {
+ -(e as i32)
+ } else {
+ 0
+ };
i.iter_mut()
.zip(
- x.label.chars().map(|x| ds.basic(x)).zip(0..).chain(
+ x.label.chars().map(|x| ds.basic(x)).zip(s..).chain(
label_details
.map(|x| {
Style { bg, fg: color_("#858685"), ..default() }
.basic(x)
})
- .zip(repeat(u32::MAX)),
+ .zip(repeat(i32::MAX)),
),
)
.for_each(|(a, (b, i))| {
*a = b;
- if indices.contains(&i) {
+ if indices.contains(&(i as u32)) {
a.style |= (Style::BOLD, color_("#ffcc66"));
}
});