summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2025-12-02 16:58:14 +0800
committer魏曹先生 <1992414357@qq.com>2025-12-02 16:58:14 +0800
commit509cee411eda46075e6792ae25e8b49ac5d9e045 (patch)
tree0e51b67f0147b70c690b46f0f8d465b6f38d3533 /src
parent468149c9ba92709cf9dfcb8306907c36ba799702 (diff)
Refactor debug glob into reusable function
Diffstat (limited to 'src')
-rw-r--r--src/bin/jv.rs35
1 files changed, 18 insertions, 17 deletions
diff --git a/src/bin/jv.rs b/src/bin/jv.rs
index 1219711..7fdf529 100644
--- a/src/bin/jv.rs
+++ b/src/bin/jv.rs
@@ -3406,27 +3406,31 @@ async fn jv_docs(args: DocsArgs) {
}
async fn jv_debug_glob(glob_args: DebugGlobArgs) {
- let Some(local_dir) = current_local_path() else {
- eprintln!("{}", t!("jv.fail.workspace_not_found").trim());
- return;
+ let local_dir = match current_local_path() {
+ Some(dir) => dir,
+ None => {
+ // No, dont print anything
+ // eprintln!("{}", t!("jv.fail.workspace_not_found").trim());
+ return;
+ }
};
- let globber = match glob(&glob_args.pattern, true).await {
+ for path in process_glob(glob_args.pattern, &local_dir).await.keys() {
+ println!("{}", path);
+ }
+}
+
+async fn process_glob(pattern: impl Into<String>, local_dir: &PathBuf) -> BTreeMap<String, ()> {
+ let pattern = pattern.into();
+ let globber = match glob(&pattern, true).await {
Ok(g) => g,
- Err(_) => match glob(&glob_args.pattern, false).await {
+ Err(_) => match glob(&pattern, false).await {
Ok(g) => g,
- Err(_) => return,
+ Err(_) => return BTreeMap::new(),
},
};
let result = globber.paths();
- let local_dir = match current_local_path() {
- Some(dir) => dir,
- None => {
- eprintln!("{}", t!("jv.fail.workspace_not_found").trim());
- return;
- }
- };
let mut filtered_paths: Vec<String> = result
.into_iter()
@@ -3439,10 +3443,7 @@ async fn jv_debug_glob(glob_args: DebugGlobArgs) {
.collect();
let path_map: BTreeMap<String, ()> = filtered_paths.drain(..).map(|path| (path, ())).collect();
-
- for path in path_map.keys() {
- println!("{}", path);
- }
+ path_map
}
async fn glob(