diff --git a/yazi-core/src/tab/selected.rs b/yazi-core/src/tab/selected.rs index 380e5588..a28d1cb0 100644 --- a/yazi-core/src/tab/selected.rs +++ b/yazi-core/src/tab/selected.rs @@ -9,6 +9,9 @@ pub struct Selected { } impl Selected { + pub fn get_inner(&self)->BTreeSet{ + return self.inner.clone() + } pub fn new() -> Self { Selected { inner: BTreeSet::new(), parents: HashMap::new() } } pub fn insert(&mut self, url: Url) -> bool { self.insert_many(&[&url]) } @@ -74,6 +77,9 @@ impl Selected { } pub fn iter(&self) -> std::collections::btree_set::Iter { self.inner.iter() } + pub fn contains(&self,url:&Url)->bool{ + self.inner.contains(url) + } } #[cfg(test)] mod tests { diff --git a/yazi-fm/src/lives/tab.rs b/yazi-fm/src/lives/tab.rs index 6451082d..17d2ac15 100644 --- a/yazi-fm/src/lives/tab.rs +++ b/yazi-fm/src/lives/tab.rs @@ -41,7 +41,7 @@ impl Tab { me.parent.as_ref().map(|f| Folder::make(None, f, me)).transpose() }); - reg.add_field_method_get("selected", |_, me| Selected::make(&me.selected)); + reg.add_field_method_get("selected", |_, me| Selected::make(&me.selected.get_inner())); reg.add_field_method_get("preview", |_, me| Preview::make(me)); })?;