mirror of
https://github.com/sxyazi/yazi.git
synced 2026-07-25 08:41:05 +00:00
..
This commit is contained in:
parent
aa0db9af57
commit
2979efb98e
4 changed files with 12 additions and 5 deletions
|
|
@ -157,7 +157,11 @@ impl Files {
|
|||
self.sizes.extend(sizes);
|
||||
}
|
||||
|
||||
pub fn update_ioerr(&mut self) { todo!() }
|
||||
pub fn update_ioerr(&mut self) {
|
||||
self.ticket = FILES_TICKET.fetch_add(1, Ordering::Relaxed);
|
||||
self.hidden.clear();
|
||||
self.items.clear();
|
||||
}
|
||||
|
||||
pub fn update_creating(&mut self, files: Vec<File>) {
|
||||
if files.is_empty() {
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ impl From<&Url> for Folder {
|
|||
|
||||
impl Folder {
|
||||
pub fn update(&mut self, op: FilesOp) -> bool {
|
||||
let revision = self.files.revision;
|
||||
let (stage, revision) = (self.stage, self.files.revision);
|
||||
match op {
|
||||
FilesOp::Full(_, _, mtime) => {
|
||||
(self.mtime, self.stage) = (mtime, FolderStage::Loaded);
|
||||
|
|
@ -39,6 +39,9 @@ impl Folder {
|
|||
FilesOp::Done(_, mtime, ticket) if ticket == self.files.ticket() => {
|
||||
(self.mtime, self.stage) = (mtime, FolderStage::Loaded);
|
||||
}
|
||||
FilesOp::IOErr(_, kind) => {
|
||||
(self.mtime, self.stage) = (None, FolderStage::Failed(kind));
|
||||
}
|
||||
_ => {}
|
||||
}
|
||||
|
||||
|
|
@ -56,7 +59,7 @@ impl Folder {
|
|||
}
|
||||
|
||||
self.arrow(0);
|
||||
self.files.revision != revision
|
||||
(stage, revision) != (self.stage, self.files.revision)
|
||||
}
|
||||
|
||||
pub fn arrow(&mut self, step: impl Into<Step>) -> bool {
|
||||
|
|
|
|||
|
|
@ -3,5 +3,5 @@ pub enum FolderStage {
|
|||
#[default]
|
||||
Loading,
|
||||
Loaded,
|
||||
Failed,
|
||||
Failed(std::io::ErrorKind),
|
||||
}
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ impl Folder {
|
|||
lua.create_string(match me {
|
||||
Loading => "loading",
|
||||
Loaded => "loaded",
|
||||
Failed => "failed",
|
||||
Failed(_) => "failed",
|
||||
})
|
||||
});
|
||||
})?;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue