diff --git a/src/exercise.rs b/src/exercise.rs index 462287d..ea15465 100644 --- a/src/exercise.rs +++ b/src/exercise.rs @@ -31,8 +31,9 @@ fn run_bin( ) -> Result { if let Some(output) = output.as_deref_mut() { write_ansi(output, SetAttribute(Attribute::Underlined)); - output.extend_from_slice(b"Output\n"); + output.extend_from_slice(b"Output"); write_ansi(output, ResetColor); + output.push(b'\n'); } let success = cmd_runner.run_debug_bin(bin_name, output.as_deref_mut())?; @@ -44,8 +45,9 @@ fn run_bin( // leaves the user confused about why the exercise isn't done yet. write_ansi(output, SetAttribute(Attribute::Bold)); write_ansi(output, SetForegroundColor(Color::Red)); - output.extend_from_slice(b"The exercise didn't run successfully (nonzero exit code)\n"); + output.extend_from_slice(b"The exercise didn't run successfully (nonzero exit code)"); write_ansi(output, ResetColor); + output.push(b'\n'); } } diff --git a/src/init.rs b/src/init.rs index 40d9910..aecb2d8 100644 --- a/src/init.rs +++ b/src/init.rs @@ -148,10 +148,11 @@ pub fn init() -> Result<()> { } stdout.queue(SetForegroundColor(Color::Green))?; - stdout.write_all("Initialization done ✓\n\n".as_bytes())?; - stdout - .queue(ResetColor)? - .queue(SetAttribute(Attribute::Bold))?; + stdout.write_all("Initialization done ✓".as_bytes())?; + stdout.queue(ResetColor)?; + stdout.write_all(b"\n\n")?; + + stdout.queue(SetAttribute(Attribute::Bold))?; stdout.write_all(POST_INIT_MSG)?; stdout.queue(ResetColor)?; diff --git a/src/watch/state.rs b/src/watch/state.rs index 47af919..1c2e2a9 100644 --- a/src/watch/state.rs +++ b/src/watch/state.rs @@ -149,8 +149,9 @@ impl<'a> WatchState<'a> { Attributes::from(Attribute::Bold).with(Attribute::Underlined), ))? .queue(SetForegroundColor(Color::Cyan))?; - stdout.write_all(b"Hint\n")?; + stdout.write_all(b"Hint")?; stdout.queue(ResetColor)?; + stdout.write_all(b"\n")?; stdout.write_all(self.app_state.current_exercise().hint.as_bytes())?; stdout.write_all(b"\n\n")?; @@ -160,16 +161,17 @@ impl<'a> WatchState<'a> { stdout .queue(SetAttribute(Attribute::Bold))? .queue(SetForegroundColor(Color::Green))?; - stdout.write_all("Exercise done ✓\n".as_bytes())?; + stdout.write_all("Exercise done ✓".as_bytes())?; stdout.queue(ResetColor)?; + stdout.write_all(b"\n")?; if let DoneStatus::DoneWithSolution(solution_path) = &self.done_status { solution_link_line(stdout, solution_path)?; } - writeln!( - stdout, - "When done experimenting, enter `n` to move on to the next exercise 🦀\n", + stdout.write_all( + "When done experimenting, enter `n` to move on to the next exercise 🦀\n\n" + .as_bytes(), )?; }