From 509cee411eda46075e6792ae25e8b49ac5d9e045 Mon Sep 17 00:00:00 2001 From: 魏曹先生 <1992414357@qq.com> Date: Tue, 2 Dec 2025 16:58:14 +0800 Subject: Refactor debug glob into reusable function --- src/bin/jv.rs | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) (limited to 'src/bin/jv.rs') 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, local_dir: &PathBuf) -> BTreeMap { + 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 = result .into_iter() @@ -3439,10 +3443,7 @@ async fn jv_debug_glob(glob_args: DebugGlobArgs) { .collect(); let path_map: BTreeMap = filtered_paths.drain(..).map(|path| (path, ())).collect(); - - for path in path_map.keys() { - println!("{}", path); - } + path_map } async fn glob( -- cgit