diff --git a/src/server/store.rs b/src/server/store.rs index a6bc443..d4fdc60 100644 --- a/src/server/store.rs +++ b/src/server/store.rs @@ -22,8 +22,8 @@ impl Store { } } - pub fn entries(&self) -> Vec>> { - self.internal.iter().map(|k| k.value().clone()).collect() + pub fn entries(&self) -> Arc>>> { + self.internal.clone() } pub fn add(&self, index: Index, file: Arc) { diff --git a/src/tui/mod.rs b/src/tui/mod.rs index 656275e..3fc1a8c 100644 --- a/src/tui/mod.rs +++ b/src/tui/mod.rs @@ -59,8 +59,13 @@ impl Tui { .dupstore .entries() .iter() - .flatten() - .map(|f| ListItem::new(format!("{}", f.path))) + .flat_map(|val| { + let mut group = vec![ListItem::new(format!("{:?}", val.key()))]; + val.value().iter().for_each(|f| { + group.push(ListItem::new(format!("|-{}", f.path))); + }); + group + }) .collect::>(); let list = List::new(listitems.clone()); @@ -75,7 +80,7 @@ impl Tui { ); frame.render_widget( - Paragraph::new(format!("{:#?}", listitems)).block(Block::new().borders(Borders::ALL)), + Paragraph::new(String::new()).block(Block::new().borders(Borders::ALL)), layout_chunks[1], ); }