yazi_core/tab/commands/
hidden.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
use yazi_proxy::ManagerProxy;
use yazi_shared::event::CmdCow;

use crate::tab::Tab;

impl Tab {
	pub fn hidden(&mut self, mut c: CmdCow) {
		self.pref.show_hidden = match c.take_first_str().as_deref() {
			Some("show") => true,
			Some("hide") => false,
			_ => !self.pref.show_hidden,
		};

		let hovered = self.hovered().map(|f| f.url_owned());
		self.apply_files_attrs();

		if hovered.as_ref() != self.hovered().map(|f| &f.url) {
			ManagerProxy::hover(hovered, self.id);
		} else if self.hovered().is_some_and(|f| f.is_dir()) {
			ManagerProxy::peek(true);
		}
		ManagerProxy::update_paged();
	}
}