4 #[derive(Debug, Default)]
5 pub(crate) struct FilesEmitter {
6 print_misformatted_file_names: bool,
10 pub(crate) fn new(print_misformatted_file_names: bool) -> Self {
12 print_misformatted_file_names,
17 impl Emitter for FilesEmitter {
18 fn emit_formatted_file(
20 output: &mut dyn Write,
26 ) -> Result<EmitterResult, io::Error> {
27 // Write text directly over original file if there is a diff.
28 let filename = ensure_real_path(filename);
29 if original_text != formatted_text {
30 fs::write(filename, formatted_text)?;
31 if self.print_misformatted_file_names {
32 writeln!(output, "{}", filename.display())?;
35 Ok(EmitterResult::default())