mirror of
https://github.com/sxyazi/yazi.git
synced 2026-07-21 23:01:05 +00:00
feat: merge wildcard preloader and previewer rules via append_preloaders and append_previewers
This commit is contained in:
parent
20b6f26247
commit
ed46456f8c
3 changed files with 12 additions and 2 deletions
|
|
@ -35,6 +35,9 @@ impl Pattern {
|
|||
path.file_name().map_or_else(|| path.to_string_lossy(), |n| n.to_string_lossy())
|
||||
})
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn is_wildcard(&self) -> bool { self.inner.as_str() == "*" || self.inner.as_str() == "*/" }
|
||||
}
|
||||
|
||||
impl TryFrom<&str> for Pattern {
|
||||
|
|
|
|||
|
|
@ -52,6 +52,13 @@ impl Default for Plugin {
|
|||
}
|
||||
|
||||
let mut shadow = toml::from_str::<Outer>(&MERGED_YAZI).unwrap().plugin;
|
||||
if shadow.append_preloaders.iter().any(|r| r.name.as_ref().is_some_and(|p| p.is_wildcard())) {
|
||||
shadow.preloaders.retain(|r| !r.name.as_ref().is_some_and(|p| p.is_wildcard()));
|
||||
}
|
||||
if shadow.append_previewers.iter().any(|r| r.name.as_ref().is_some_and(|p| p.is_wildcard())) {
|
||||
shadow.previewers.retain(|r| !r.name.as_ref().is_some_and(|p| p.is_wildcard()));
|
||||
}
|
||||
|
||||
Preset::mix(&mut shadow.preloaders, shadow.prepend_preloaders, shadow.append_preloaders);
|
||||
Preset::mix(&mut shadow.previewers, shadow.prepend_previewers, shadow.append_previewers);
|
||||
|
||||
|
|
|
|||
|
|
@ -9,8 +9,8 @@ impl Tasks {
|
|||
return;
|
||||
}
|
||||
|
||||
let len = self.scheduler.running.lock().len();
|
||||
self.cursor = self.cursor.min(len.saturating_sub(1));
|
||||
self.summaries = self.paginate();
|
||||
self.arrow(0);
|
||||
render!();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue