]> git.lizzy.rs Git - rust.git/blob - src/emitter/files.rs
add json emit mode (#3735)
[rust.git] / src / emitter / files.rs
1 use super::*;
2 use std::fs;
3
4 #[derive(Debug, Default)]
5 pub(crate) struct FilesEmitter;
6
7 impl Emitter for FilesEmitter {
8     fn emit_formatted_file(
9         &mut self,
10         _output: &mut dyn Write,
11         FormattedFile {
12             filename,
13             original_text,
14             formatted_text,
15         }: FormattedFile<'_>,
16     ) -> Result<EmitterResult, io::Error> {
17         // Write text directly over original file if there is a diff.
18         let filename = ensure_real_path(filename);
19         if original_text != formatted_text {
20             fs::write(filename, formatted_text)?;
21         }
22         Ok(EmitterResult::default())
23     }
24 }