From 1b3f1f6b46acccec6e6f1febea6e7d6552c0a594 Mon Sep 17 00:00:00 2001 From: Ed Page Date: Tue, 6 Jul 2021 09:26:08 -0500 Subject: [PATCH 1/2] fix(diff): Handle broken pipe --- src/file.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/file.rs b/src/file.rs index ba482c6..5645522 100644 --- a/src/file.rs +++ b/src/file.rs @@ -236,7 +236,7 @@ impl FileChecker for DiffTypos { 0, ); for line in diff { - print!("{}", line); + write!(std::io::stdout(), "{}", line)?; } } From 10a2486163a985dd1db321d770ac3e670fae2c47 Mon Sep 17 00:00:00 2001 From: Ed Page Date: Tue, 6 Jul 2021 09:27:31 -0500 Subject: [PATCH 2/2] perf(diff): Don't lock on every line --- src/file.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/file.rs b/src/file.rs index 5645522..4f081e6 100644 --- a/src/file.rs +++ b/src/file.rs @@ -235,8 +235,10 @@ impl FileChecker for DiffTypos { "fixed", 0, ); + let stdout = std::io::stdout(); + let mut handle = stdout.lock(); for line in diff { - write!(std::io::stdout(), "{}", line)?; + write!(handle, "{}", line)?; } }