(violations: &[LintViolation], project_root: &Path)
| 1651 | } |
| 1652 | |
| 1653 | fn print_text_results(violations: &[LintViolation], project_root: &Path) { |
| 1654 | if violations.is_empty() { |
| 1655 | println!("All Rust C++ linting checks passed!"); |
| 1656 | return; |
| 1657 | } |
| 1658 | |
| 1659 | let mut current_checker = ""; |
| 1660 | for violation in violations { |
| 1661 | if violation.checker != current_checker { |
| 1662 | current_checker = &violation.checker; |
| 1663 | println!("\n[{current_checker}]"); |
| 1664 | } |
| 1665 | let display_path = relative_display_path(&violation.path, project_root); |
| 1666 | println!(" {display_path}:{}: {}", violation.line, violation.message); |
| 1667 | } |
| 1668 | } |
| 1669 | |
| 1670 | fn collect_input_files(project_root: &Path, inputs: &[String]) -> Result<Vec<PathBuf>, DynError> { |
| 1671 | let mut files = BTreeSet::new(); |
no test coverage detected