fix: missing a hover event after cd (#2719)

This commit is contained in:
三咲雅 · Misaki Masa 2025-05-05 01:18:09 +08:00 committed by GitHub
parent a201c93419
commit c53865788a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 19 additions and 16 deletions

12
Cargo.lock generated
View file

@ -355,9 +355,9 @@ dependencies = [
[[package]]
name = "cc"
version = "1.2.20"
version = "1.2.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "04da6a0d40b948dfc4fa8f5bbf402b0fc1a64a28dbf7d12ffd683550f2c1b63a"
checksum = "8691782945451c1c383942c4874dbe63814f61cb57ef773cda2972682b7bb3c0"
dependencies = [
"jobserver",
"libc",
@ -2123,9 +2123,9 @@ dependencies = [
[[package]]
name = "redox_syscall"
version = "0.5.11"
version = "0.5.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d2f103c6d277498fbceb16e84d317e2a400f160f46904d5f5410848c829511a3"
checksum = "928fca9cf2aa042393a8325b9ead81d2f0df4cb12e1e24cef072922ccd99c5af"
dependencies = [
"bitflags 2.9.0",
]
@ -3320,9 +3320,9 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
[[package]]
name = "winnow"
version = "0.7.8"
version = "0.7.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9e27d6ad3dac991091e4d35de9ba2d2d00647c5d0fc26c5496dee55984ae111b"
checksum = "d9fb597c990f03753e08d3c29efbfcf2019a003b4bf4ba19225c158e1549f0f3"
dependencies = [
"memchr",
]

View file

@ -72,6 +72,8 @@ impl Tab {
}
Pubsub::pub_from_cd(self.id, self.cwd());
self.hover(None);
MgrProxy::refresh();
render!();
}

View file

@ -8,16 +8,18 @@ use crate::{tab::Tab, tasks::Tasks};
impl Tab {
pub fn sort(&mut self, c: CmdCow, tasks: &Tasks) {
let pref = &mut self.pref;
if let Some(by) = c.first_str() {
pref.sort_by = SortBy::from_str(by).unwrap_or_default();
let mut new = self.pref.clone();
new.sort_by = c.first_str().and_then(|s| SortBy::from_str(s).ok()).unwrap_or(new.sort_by);
new.sort_reverse = c.maybe_bool("reverse").unwrap_or(new.sort_reverse);
new.sort_dir_first = c.maybe_bool("dir-first").unwrap_or(new.sort_dir_first);
new.sort_sensitive = c.maybe_bool("sensitive").unwrap_or(new.sort_sensitive);
new.sort_translit = c.maybe_bool("translit").unwrap_or(new.sort_translit);
if new == self.pref {
return;
}
pref.sort_reverse = c.maybe_bool("reverse").unwrap_or(pref.sort_reverse);
pref.sort_dir_first = c.maybe_bool("dir-first").unwrap_or(pref.sort_dir_first);
pref.sort_sensitive = c.maybe_bool("sensitive").unwrap_or(pref.sort_sensitive);
pref.sort_translit = c.maybe_bool("translit").unwrap_or(pref.sort_translit);
self.pref = new;
self.apply_files_attrs();
self.hover(None);
tasks.prework_sorted(&self.current.files);

View file

@ -144,11 +144,10 @@ impl Client {
}
}
None => loop {
time::sleep(time::Duration::from_secs(1)).await;
if let Ok(new) = make(&kinds).await {
lines = new;
break;
} else {
time::sleep(time::Duration::from_secs(1)).await;
}
},
}