Skip to content

Commit d20b3d8

Browse files
authored
refactor: privatize url of the File (#1619)
1 parent 9483798 commit d20b3d8

File tree

36 files changed

+115
-113
lines changed

36 files changed

+115
-113
lines changed

yazi-config/src/theme/filetype.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ impl Filetype {
1818
}
1919

2020
self.mime.as_ref().is_some_and(|p| p.match_mime(mime))
21-
|| self.name.as_ref().is_some_and(|n| n.match_path(&file.url, file.is_dir()))
21+
|| self.name.as_ref().is_some_and(|n| n.match_path(file.url(), file.is_dir()))
2222
}
2323
}
2424

yazi-config/src/theme/icons.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,12 +43,12 @@ impl Icons {
4343

4444
#[inline]
4545
fn match_by_glob(&self, file: &File) -> Option<&Icon> {
46-
self.globs.iter().find(|(p, _)| p.match_path(&file.url, file.is_dir())).map(|(_, i)| i)
46+
self.globs.iter().find(|(p, _)| p.match_path(file.url(), file.is_dir())).map(|(_, i)| i)
4747
}
4848

4949
#[inline]
5050
fn match_by_name(&self, file: &File) -> Option<&Icon> {
51-
let name = file.name()?.to_str()?;
51+
let name = file.name().to_str()?;
5252
if file.is_dir() {
5353
self.dirs.get(name).or_else(|| self.dirs.get(&name.to_ascii_lowercase()))
5454
} else {
@@ -62,7 +62,7 @@ impl Icons {
6262

6363
#[inline]
6464
fn match_by_ext(&self, file: &File) -> Option<&Icon> {
65-
let ext = file.url.extension()?.to_str()?;
65+
let ext = file.url().extension()?.to_str()?;
6666
self.exts.get(ext).or_else(|| self.exts.get(&ext.to_ascii_lowercase()))
6767
}
6868
}

yazi-core/src/manager/commands/bulk_rename.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ impl Manager {
9696
}
9797

9898
if !succeeded.is_empty() {
99-
Pubsub::pub_from_bulk(succeeded.iter().map(|(u, f)| (u, &f.url)).collect());
99+
Pubsub::pub_from_bulk(succeeded.iter().map(|(u, f)| (u, f.url())).collect());
100100
FilesOp::Upserting(cwd, succeeded).emit();
101101
}
102102
drop(permit);

yazi-core/src/manager/commands/create.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ impl Manager {
5959
}
6060

6161
if let Ok(f) = File::from(new.clone()).await {
62-
FilesOp::Upserting(parent, HashMap::from_iter([(f.url(), f)])).emit();
62+
FilesOp::Upserting(parent, HashMap::from_iter([(f.url_owned(), f)])).emit();
6363
TabProxy::reveal(&new)
6464
}
6565
Ok(())

yazi-core/src/manager/commands/hover.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ impl Manager {
2828

2929
// Hover on the file
3030
render!(self.current_or_mut(opt.tab).repos(opt.url.as_ref()));
31-
if opt.url.zip(self.current_or(opt.tab).hovered()).is_some_and(|(u, f)| u == f.url) {
31+
if opt.url.zip(self.current_or(opt.tab).hovered()).is_some_and(|(u, f)| &u == f.url()) {
3232
// `hover(Some)` occurs after user actions, such as create, rename, reveal, etc.
3333
// At this point, it's intuitive to track the location of this file regardless.
3434
self.current_or_mut(opt.tab).tracing = true;
@@ -45,12 +45,12 @@ impl Manager {
4545
to_watch.insert(&p.cwd);
4646
}
4747
if let Some(h) = tab.current.hovered().filter(|&h| h.is_dir()) {
48-
to_watch.insert(&h.url);
48+
to_watch.insert(h.url());
4949
}
5050
}
5151
self.watcher.watch(to_watch);
5252

5353
// Publish through DDS
54-
Pubsub::pub_from_hover(self.active().idx, self.hovered().map(|h| &h.url));
54+
Pubsub::pub_from_hover(self.active().idx, self.hovered().map(|h| h.url()));
5555
}
5656
}

yazi-core/src/manager/commands/open.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ impl Manager {
2727
if !self.active_mut().try_escape_visual() {
2828
return;
2929
}
30-
let Some(hovered) = self.hovered().map(|h| h.url()) else {
30+
let Some(hovered) = self.hovered().map(|h| h.url_owned()) else {
3131
return;
3232
};
3333

@@ -63,7 +63,7 @@ impl Manager {
6363
}
6464
}
6565

66-
done.extend(files.iter().map(|f| (f.url(), String::new())));
66+
done.extend(files.iter().map(|f| (f.url_owned(), String::new())));
6767
if let Err(e) = isolate::fetch("mime", files).await {
6868
error!("Fetch `mime` failed in opening: {e}");
6969
}
@@ -111,7 +111,7 @@ impl Manager {
111111

112112
let find = |folder: Option<&Folder>| {
113113
folder.is_some_and(|folder| {
114-
folder.cwd == p && folder.files.iter().any(|f| f.is_dir() && f.url == *url)
114+
folder.cwd == p && folder.files.iter().any(|f| f.is_dir() && url == f.url())
115115
})
116116
};
117117

yazi-core/src/manager/commands/peek.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,13 @@ impl Manager {
3131
};
3232

3333
let folder = self.active().hovered_folder().map(|f| (f.offset, f.cha));
34-
if !self.active().preview.same_url(&hovered.url) {
34+
if !self.active().preview.same_url(hovered.url()) {
3535
self.active_mut().preview.skip = folder.map(|f| f.0).unwrap_or_default();
3636
render!(self.active_mut().preview.reset());
3737
}
3838

3939
let opt = opt.into() as Opt;
40-
if matches!(opt.only_if, Some(ref u) if *u != hovered.url) {
40+
if matches!(opt.only_if, Some(ref u) if u != hovered.url()) {
4141
return;
4242
}
4343

@@ -55,7 +55,7 @@ impl Manager {
5555
return;
5656
}
5757

58-
let mime = self.mimetype.get(&hovered.url).cloned().unwrap_or_default();
58+
let mime = self.mimetype.get(hovered.url()).cloned().unwrap_or_default();
5959
if !mime.is_empty() {
6060
// Wait till mimetype is resolved to avoid flickering
6161
self.active_mut().preview.go(hovered, &mime, opt.force);

yazi-core/src/manager/commands/remove.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ impl Manager {
2727
if !self.active_mut().try_escape_visual() {
2828
return;
2929
}
30-
let Some(hovered) = self.hovered().map(|h| &h.url) else {
30+
let Some(hovered) = self.hovered().map(|h| h.url()) else {
3131
return;
3232
};
3333

yazi-core/src/manager/commands/rename.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ impl Manager {
3232
if !self.active_mut().try_escape_visual() {
3333
return;
3434
}
35-
let Some(hovered) = self.hovered().map(|h| h.url()) else {
35+
let Some(hovered) = self.hovered().map(|h| h.url_owned()) else {
3636
return;
3737
};
3838

yazi-core/src/manager/commands/seek.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,13 @@ impl Manager {
2121

2222
let mime = if hovered.is_dir() {
2323
MIME_DIR
24-
} else if let Some(s) = self.mimetype.get(&hovered.url) {
24+
} else if let Some(s) = self.mimetype.get(hovered.url()) {
2525
s
2626
} else {
2727
return render!(self.active_mut().preview.reset());
2828
};
2929

30-
let Some(previewer) = PLUGIN.previewer(&hovered.url, mime) else {
30+
let Some(previewer) = PLUGIN.previewer(hovered.url(), mime) else {
3131
return render!(self.active_mut().preview.reset());
3232
};
3333

0 commit comments

Comments
 (0)