rustfmt_nightly/emitter/
modified_lines.rs
1use super::*;
2use crate::rustfmt_diff::{ModifiedLines, make_diff};
3
4#[derive(Debug, Default)]
5pub(crate) struct ModifiedLinesEmitter;
6
7impl Emitter for ModifiedLinesEmitter {
8 fn emit_formatted_file(
9 &mut self,
10 output: &mut dyn Write,
11 FormattedFile {
12 original_text,
13 formatted_text,
14 ..
15 }: FormattedFile<'_>,
16 ) -> Result<EmitterResult, io::Error> {
17 const CONTEXT_SIZE: usize = 0;
18 let mismatch = make_diff(original_text, formatted_text, CONTEXT_SIZE);
19 let has_diff = !mismatch.is_empty();
20 write!(output, "{}", ModifiedLines::from(mismatch))?;
21 Ok(EmitterResult { has_diff })
22 }
23}