From f403d9e1b68b601a5b6e9e57201f767b134e2e67 Mon Sep 17 00:00:00 2001 From: mo8it Date: Mon, 6 Apr 2026 23:21:15 +0200 Subject: [PATCH] Show current exercise on hint command --- CHANGELOG.md | 4 ++++ src/main.rs | 10 +++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8b9b356b..b85a3e0b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## Unreleased +### Added + +- Show the file link of the current exercise when running `rustlings hint` + ### Fixed - Fix integer overflow on big terminal widths [@gabfec](https://github.com/gabfec) diff --git a/src/main.rs b/src/main.rs index 652d1468..564e0719 100644 --- a/src/main.rs +++ b/src/main.rs @@ -156,7 +156,15 @@ fn main() -> Result { if let Some(name) = name { app_state.set_current_exercise_by_name(&name)?; } - println!("{}", app_state.current_exercise().hint); + + let current_exercise = app_state.current_exercise(); + let mut stdout = io::stdout().lock(); + stdout.write_all(b"Current exercise: ")?; + current_exercise.terminal_file_link(&mut stdout, app_state.emit_file_links())?; + + stdout.write_all(b"\n\nHint:\n")?; + stdout.write_all(current_exercise.hint.as_bytes())?; + stdout.write_all(b"\n")?; } // Handled in an earlier match. Some(Command::Init | Command::Dev(_)) => (),