]> git.lizzy.rs Git - rust.git/blob - src/tools/rustfmt/src/emitter/stdout.rs
Auto merge of #82624 - ojeda:rwlock-example-deadlock, r=JohnTitor
[rust.git] / src / tools / rustfmt / src / emitter / stdout.rs
1 use super::*;
2 use crate::config::Verbosity;
3 use std::io::Write;
4
5 #[derive(Debug)]
6 pub(crate) struct StdoutEmitter {
7     verbosity: Verbosity,
8 }
9
10 impl StdoutEmitter {
11     pub(crate) fn new(verbosity: Verbosity) -> Self {
12         Self { verbosity }
13     }
14 }
15
16 impl Emitter for StdoutEmitter {
17     fn emit_formatted_file(
18         &mut self,
19         output: &mut dyn Write,
20         FormattedFile {
21             filename,
22             formatted_text,
23             ..
24         }: FormattedFile<'_>,
25     ) -> Result<EmitterResult, io::Error> {
26         if self.verbosity != Verbosity::Quiet {
27             writeln!(output, "{}:\n", filename)?;
28         }
29         write!(output, "{}", formatted_text)?;
30         Ok(EmitterResult::default())
31     }
32 }