Newline after resetting attributes

This commit is contained in:
mo8it 2024-08-26 00:24:39 +02:00
parent 159273e532
commit 833e6e0c92
3 changed files with 16 additions and 11 deletions

View file

@ -31,8 +31,9 @@ fn run_bin(
) -> Result<bool> {
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');
}
}

View file

@ -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)?;

View file

@ -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(),
)?;
}