From f232acda74ad8c260bd0cde4506c88e2d09fe112 Mon Sep 17 00:00:00 2001 From: Lorenz Leutgeb Date: Sat, 11 Oct 2025 14:26:10 +0200 Subject: [PATCH] cli/diff: Print cross-platform line endings --- crates/radicle-cli/src/git/unified_diff.rs | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/crates/radicle-cli/src/git/unified_diff.rs b/crates/radicle-cli/src/git/unified_diff.rs index a9d20b6f..666ad4fb 100644 --- a/crates/radicle-cli/src/git/unified_diff.rs +++ b/crates/radicle-cli/src/git/unified_diff.rs @@ -586,10 +586,20 @@ impl<'a> Writer<'a> { } pub fn write(&mut self, s: impl fmt::Display, style: term::Style) -> io::Result<()> { + #[cfg(windows)] + const EOL: &str = "\r\n"; + + #[cfg(not(windows))] + const EOL: &str = "\n"; + if self.styled { - writeln!(self.stream, "{}", term::Paint::new(s).with_style(style)) + write!( + self.stream, + "{}{EOL}", + term::Paint::new(s).with_style(style) + ) } else { - writeln!(self.stream, "{s}") + write!(self.stream, "{s}{EOL}") } }