mirror of
https://github.com/rust-lang/rust.git
synced 2025-05-14 02:49:40 +00:00
36 lines
981 B
Rust
36 lines
981 B
Rust
![]() |
use crate::utils::run_command_with_output;
|
||
|
use std::ffi::OsStr;
|
||
|
use std::path::Path;
|
||
|
|
||
|
fn show_usage() {
|
||
|
println!(
|
||
|
r#"
|
||
|
`fmt` command help:
|
||
|
|
||
|
--check : Pass `--check` argument to `cargo fmt` commands
|
||
|
--help : Show this help"#
|
||
|
);
|
||
|
}
|
||
|
|
||
|
pub fn run() -> Result<(), String> {
|
||
|
let mut check = false;
|
||
|
// We skip binary name and the `info` command.
|
||
|
let mut args = std::env::args().skip(2);
|
||
|
while let Some(arg) = args.next() {
|
||
|
match arg.as_str() {
|
||
|
"--help" => {
|
||
|
show_usage();
|
||
|
return Ok(());
|
||
|
}
|
||
|
"--check" => check = true,
|
||
|
_ => return Err(format!("Unknown option {}", arg)),
|
||
|
}
|
||
|
}
|
||
|
|
||
|
let cmd: &[&dyn AsRef<OsStr>] =
|
||
|
if check { &[&"cargo", &"fmt", &"--check"] } else { &[&"cargo", &"fmt"] };
|
||
|
|
||
|
run_command_with_output(cmd, Some(&Path::new(".")))?;
|
||
|
run_command_with_output(cmd, Some(&Path::new("build_system")))
|
||
|
}
|