mirror of
https://github.com/sxyazi/yazi.git
synced 2026-07-21 23:01:05 +00:00
feat: filter by full path (prefix + filename) in search view instead of just filename (#2915)
This commit is contained in:
parent
1ed244a0a5
commit
e218f1d8bb
2 changed files with 9 additions and 6 deletions
|
|
@ -186,10 +186,9 @@ impl Files {
|
|||
}
|
||||
|
||||
let (mut hidden, mut items) = if let Some(filter) = &self.filter {
|
||||
urns.into_iter().partition(|u| {
|
||||
(!self.show_hidden && u.as_urn().is_hidden())
|
||||
|| !u.as_urn().name().is_some_and(|s| filter.matches(s))
|
||||
})
|
||||
urns
|
||||
.into_iter()
|
||||
.partition(|u| (!self.show_hidden && u.as_urn().is_hidden()) || !filter.matches(u.as_urn()))
|
||||
} else if self.show_hidden {
|
||||
(HashSet::new(), urns)
|
||||
} else {
|
||||
|
|
@ -267,7 +266,7 @@ impl Files {
|
|||
let (mut hidden, mut items) = if let Some(filter) = &self.filter {
|
||||
files
|
||||
.into_iter()
|
||||
.partition(|(_, f)| (f.is_hidden() && !self.show_hidden) || !filter.matches(f.name()))
|
||||
.partition(|(_, f)| (f.is_hidden() && !self.show_hidden) || !filter.matches(f.urn()))
|
||||
} else if self.show_hidden {
|
||||
(HashMap::new(), files)
|
||||
} else {
|
||||
|
|
@ -320,7 +319,7 @@ impl Files {
|
|||
if let Some(filter) = &self.filter {
|
||||
files
|
||||
.into_iter()
|
||||
.partition(|f| (f.is_hidden() && !self.show_hidden) || !filter.matches(f.name()))
|
||||
.partition(|f| (f.is_hidden() && !self.show_hidden) || !filter.matches(f.urn()))
|
||||
} else if self.show_hidden {
|
||||
(vec![], files.into_iter().collect())
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -36,6 +36,10 @@ impl AsRef<Path> for Urn {
|
|||
fn as_ref(&self) -> &Path { &self.0 }
|
||||
}
|
||||
|
||||
impl AsRef<OsStr> for Urn {
|
||||
fn as_ref(&self) -> &OsStr { self.0.as_os_str() }
|
||||
}
|
||||
|
||||
impl ToOwned for Urn {
|
||||
type Owned = UrnBuf;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue