summaryrefslogtreecommitdiff
path: root/src/run.rs
diff options
context:
space:
mode:
authormo8it <mo8it@proton.me>2024-04-24 02:52:30 +0200
committermo8it <mo8it@proton.me>2024-04-24 02:52:30 +0200
commit8a085a0a85c759029cd57c28364867bde817e738 (patch)
treeb45b6f11597130690232b2eaa9621f25ecf98200 /src/run.rs
parentedf57626129467dacc0c6f04b2ca00e64d5b2245 (diff)
Dump solution and show its path
Diffstat (limited to 'src/run.rs')
-rw-r--r--src/run.rs14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/run.rs b/src/run.rs
index 863b584..a2b6972 100644
--- a/src/run.rs
+++ b/src/run.rs
@@ -1,8 +1,11 @@
use anyhow::{bail, Result};
-use crossterm::style::Stylize;
+use crossterm::style::{style, Stylize};
use std::io::{self, Write};
-use crate::app_state::{AppState, ExercisesProgress};
+use crate::{
+ app_state::{AppState, ExercisesProgress},
+ terminal_link::TerminalFileLink,
+};
pub fn run(app_state: &mut AppState) -> Result<()> {
let exercise = app_state.current_exercise();
@@ -29,6 +32,13 @@ pub fn run(app_state: &mut AppState) -> Result<()> {
exercise.path.green(),
))?;
+ if let Some(solution_path) = app_state.current_solution_path()? {
+ println!(
+ "\nA solution file can be found at {}\n",
+ style(TerminalFileLink(&solution_path)).underlined().green(),
+ );
+ }
+
match app_state.done_current_exercise(&mut stdout)? {
ExercisesProgress::AllDone => (),
ExercisesProgress::Pending => println!(