From 6f44cb1dd237f4d53aa3ecd4676e50cf850c99fe Mon Sep 17 00:00:00 2001 From: magnusrodseth <59113973+magnusrodseth@users.noreply.github.com> Date: Wed, 17 Aug 2022 16:31:53 +0200 Subject: feat: Add reset command, given a filename --- src/run.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/run.rs') diff --git a/src/run.rs b/src/run.rs index eb55885..826f00a 100644 --- a/src/run.rs +++ b/src/run.rs @@ -1,3 +1,5 @@ +use std::process::Command; + use crate::exercise::{Exercise, Mode}; use crate::verify::test; use indicatif::ProgressBar; @@ -15,6 +17,19 @@ pub fn run(exercise: &Exercise, verbose: bool) -> Result<(), ()> { Ok(()) } +// Resets the exercise by stashing the changes. +pub fn reset(exercise: &Exercise) -> Result<(), ()> { + let command = Command::new("git") + .args(["stash", "--"]) + .arg(&exercise.path) + .spawn(); + + match command { + Ok(_) => Ok(()), + Err(_) => Err(()), + } +} + // Invoke the rust compiler on the path of the given exercise // and run the ensuing binary. // This is strictly for non-test binaries, so output is displayed -- cgit v1.2.3