use std::io::Write;
use std::process::Command;
use std::process::Stdio;
#[allow(dead_code)]
pub fn print_generated_code<S: ToString>(kind: &str, code: S) {
if let Ok(mut proc) = Command::new("rustfmt")
.arg("--emit=stdout")
.arg("--edition=2021")
.stdin(Stdio::piped())
.stdout(Stdio::piped())
.stderr(Stdio::null())
.spawn()
{
{
let stdin = proc.stdin.as_mut().unwrap();
stdin.write_all(code.to_string().as_bytes()).unwrap();
}
if let Ok(output) = proc.wait_with_output() {
if output.status.success() {
println!(
"{}\n{}\n{}\n{}\n",
"-".repeat(kind.len()),
kind,
"-".repeat(kind.len()),
String::from_utf8(output.stdout).unwrap()
);
}
}
}
}