(f: impl FnOnce() -> T)
| 634 | } |
| 635 | |
| 636 | pub(crate) fn format_command(args: &[String], cwd: &Path) -> Result<(), String> { |
| 637 | let base_path = parse_flag_value(args, "--path") |
| 638 | .map(|p| resolve_local_path(&p, cwd)) |
| 639 | .unwrap_or_else(|| cwd.to_path_buf()); |
| 640 | let base_path = base_path.canonicalize().unwrap_or(base_path); |
| 641 | let res_dir = resolve_project_res_root(&base_path, "format")?; |
| 642 | let dedup = args.iter().any(|arg| arg == "--dedup"); |
| 643 | let mut script_files = Vec::new(); |
| 644 | collect_rs_files_recursive(&res_dir, &mut script_files)?; |
| 645 | let mut asset_files = Vec::new(); |
| 646 | collect_format_asset_files_recursive(&res_dir, &mut asset_files)?; |
| 647 | |
| 648 | if script_files.is_empty() && asset_files.is_empty() { |
| 649 | log_note("No format targets found under res"); |
no test coverage detected