mirror of
https://github.com/sxyazi/yazi.git
synced 2026-07-25 08:41:05 +00:00
30 lines
637 B
Rust
30 lines
637 B
Rust
use std::env;
|
|
|
|
use yazi_shared::{emit, event::Cmd, Layer};
|
|
|
|
use crate::{manager::Manager, tasks::Tasks};
|
|
|
|
impl Manager {
|
|
#[inline]
|
|
pub fn _refresh() {
|
|
emit!(Call(Cmd::new("refresh"), Layer::Manager));
|
|
}
|
|
|
|
pub fn refresh(&mut self, _: Cmd, tasks: &Tasks) {
|
|
env::set_current_dir(self.cwd()).ok();
|
|
env::set_var("PWD", self.cwd());
|
|
|
|
self.active_mut().apply_files_attrs();
|
|
|
|
if let Some(p) = self.parent() {
|
|
self.watcher.trigger_dirs(&[self.current(), p]);
|
|
} else {
|
|
self.watcher.trigger_dirs(&[self.current()]);
|
|
}
|
|
|
|
self.hover(None);
|
|
self.update_paged((), tasks);
|
|
|
|
tasks.preload_sorted(&self.current().files);
|
|
}
|
|
}
|