From addda17dea4cd89c3f3cf155c1a387b64d27aa2f Mon Sep 17 00:00:00 2001 From: evpeople Date: Sat, 17 Feb 2024 23:01:44 +0800 Subject: [PATCH] feat: add contains method and get_inner method --- yazi-core/src/tab/selected.rs | 6 ++++++ yazi-fm/src/lives/tab.rs | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) 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)); })?;