mirror of
https://github.com/narrrl/proton-drive-linux.git
synced 2026-11-04 00:47:00 +01:00
feat(core,fuse,gui,cli): search scope and location column
Request::Search takes an optional folder scope (serde default, so older front-ends keep searching everywhere). The GUI offers a This folder toggle beside the search box and shows a Location column for hits; the CLI gains pdfs search --in. Pins report whether a pinned file is cached, so pin-derived search hits badge correctly.
This commit is contained in:
1 parent
0fbc6421ba
commit
29e5769dec
12 files changed
+204
-15
No files matched your search
@@ -245,8 +245,15 @@ pub enum Request {
|
||||
uid: Option<String>,
|
||||
},
|
||||
/// Full-text search node names against the daemon's local metadata index.
|
||||
/// `limit` caps the number of hits returned. Replies with [`Response::SearchResults`].
|
||||
Search { query: String, limit: usize },
|
||||
/// `limit` caps the number of hits returned. `scope`, a mountpoint-relative
|
||||
/// folder, restricts hits to that subtree; older front-ends omit it and
|
||||
/// search everything. Replies with [`Response::SearchResults`].
|
||||
Search {
|
||||
query: String,
|
||||
limit: usize,
|
||||
#[serde(default)]
|
||||
scope: Option<String>,
|
||||
},
|
||||
/// Search the daemon's index of *local* (non-Drive) files on this machine.
|
||||
/// Independent of [`Request::Search`] so a front-end can fire both at once and
|
||||
/// render whichever lands first. Replies with [`Response::LocalResults`].
|
||||
@@ -2342,7 +2349,7 @@ mod tests {
|
||||
serde_json::from_str(r#"{"Search":{"query":"old","limit":20}}"#).unwrap();
|
||||
assert!(matches!(
|
||||
drive,
|
||||
Request::Search { query, limit } if query == "old" && limit == 20
|
||||
Request::Search { query, limit, scope: None } if query == "old" && limit == 20
|
||||
));
|
||||
|
||||
let local: Request =
|
||||
|
||||
Reference in new issue
Block a user