Skip to content

Commit d958ec5

Browse files
committed
Allow --emit=checkstyle to work with standard input.
1 parent 2c13290 commit d958ec5

File tree

2 files changed

+4
-5
lines changed

2 files changed

+4
-5
lines changed

src/bin/main.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -258,6 +258,7 @@ fn format_string(input: String, options: GetOptsOptions) -> Result<i32, FailureE
258258
// None means default, which is Stdout.
259259
None |
260260
Some(EmitMode::Stdout) |
261+
Some(EmitMode::Checkstyle) |
261262
Some(EmitMode::Json) => {}
262263
Some(emit_mode) => {
263264
return Err(OperationError::StdinBadEmit(emit_mode).into());

src/emitter/checkstyle.rs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ use self::xml::XmlEscaped;
22
use super::*;
33
use crate::rustfmt_diff::{make_diff, DiffLine, Mismatch};
44
use std::io::{self, Write};
5-
use std::path::Path;
65

76
mod xml;
87

@@ -30,7 +29,6 @@ impl Emitter for CheckstyleEmitter {
3029
}: FormattedFile<'_>,
3130
) -> Result<EmitterResult, io::Error> {
3231
const CONTEXT_SIZE: usize = 0;
33-
let filename = ensure_real_path(filename);
3432
let diff = make_diff(original_text, formatted_text, CONTEXT_SIZE);
3533
output_checkstyle_file(output, filename, diff)?;
3634
Ok(EmitterResult::default())
@@ -39,13 +37,13 @@ impl Emitter for CheckstyleEmitter {
3937

4038
pub(crate) fn output_checkstyle_file<T>(
4139
mut writer: T,
42-
filename: &Path,
40+
filename: &FileName,
4341
diff: Vec<Mismatch>,
4442
) -> Result<(), io::Error>
4543
where
4644
T: Write,
4745
{
48-
write!(writer, r#"<file name="{}">"#, filename.display())?;
46+
write!(writer, r#"<file name="{}">"#, filename)?;
4947
for mismatch in diff {
5048
let begin_line = mismatch.line_number;
5149
let mut current_line;
@@ -77,7 +75,7 @@ mod tests {
7775
fn emits_empty_record_on_file_with_no_mismatches() {
7876
let file_name = "src/well_formatted.rs";
7977
let mut writer = Vec::new();
80-
let _ = output_checkstyle_file(&mut writer, &PathBuf::from(file_name), vec![]);
78+
let _ = output_checkstyle_file(&mut writer, &FileName::Real(PathBuf::from(file_name)), vec![]);
8179
assert_eq!(
8280
&writer[..],
8381
format!(r#"<file name="{}"></file>"#, file_name).as_bytes()

0 commit comments

Comments
 (0)