diff options
| -rw-r--r-- | crates/cli/src/exercises.rs | 15 | ||||
| -rw-r--r-- | crates/cli/src/run.rs | 21 | ||||
| -rw-r--r-- | lib/mihi/src/exercise.rs | 22 |
3 files changed, 16 insertions, 42 deletions
diff --git a/crates/cli/src/exercises.rs b/crates/cli/src/exercises.rs index ef89a0c..8cac7b0 100644 --- a/crates/cli/src/exercises.rs +++ b/crates/cli/src/exercises.rs @@ -37,19 +37,6 @@ fn ask_for_exercise_based_on(exercise: Exercise) -> Result<Exercise, String> { return Err("the title is required".to_string()); } - let kinds = vec![ - ExerciseKind::Pensum, - ExerciseKind::Translation, - ExerciseKind::Transformation, - ExerciseKind::Numerical, - ]; - let Ok(kind) = Select::new("Kind:", kinds) - .with_starting_cursor(exercise.kind as usize) - .prompt() - else { - return Err("abort!".to_string()); - }; - let Ok(enunciate) = Editor::new("Enunciate:") .with_predefined_text(&exercise.enunciate) .with_file_extension(".md") @@ -89,7 +76,7 @@ fn ask_for_exercise_based_on(exercise: Exercise) -> Result<Exercise, String> { enunciate, solution, lessons, - kind, + kind: ExerciseKind::Simple, }) } diff --git a/crates/cli/src/run.rs b/crates/cli/src/run.rs index 86136aa..5f06870 100644 --- a/crates/cli/src/run.rs +++ b/crates/cli/src/run.rs @@ -508,18 +508,17 @@ fn run_exercises(exercises: Vec<Exercise>) -> bool { } for exercise in exercises { - let Ok(solution) = Editor::new( - format!("Exercise '{}' (kind: {}):", exercise.title, exercise.kind).as_str(), - ) - .with_predefined_text( - format!( - "---Enunciate: {}\n{}\n---!", - exercise.title, exercise.enunciate + let Ok(solution) = Editor::new(format!("Exercise '{}':", exercise.title).as_str()) + .with_predefined_text( + format!( + "---Enunciate: {}\n{}\n---!", + exercise.title, exercise.enunciate + ) + .as_str(), ) - .as_str(), - ) - .with_file_extension(".md") - .prompt() else { + .with_file_extension(".md") + .prompt() + else { return false; }; diff --git a/lib/mihi/src/exercise.rs b/lib/mihi/src/exercise.rs index 10fada1..5f45079 100644 --- a/lib/mihi/src/exercise.rs +++ b/lib/mihi/src/exercise.rs @@ -5,19 +5,13 @@ use rusqlite::params; #[derive(Clone, Copy, Debug, Default)] pub enum ExerciseKind { #[default] - Pensum = 0, - Translation, - Transformation, - Numerical, + Simple = 0, } impl std::fmt::Display for ExerciseKind { fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { match self { - Self::Pensum => write!(f, "Pensum"), - Self::Translation => write!(f, "Translation"), - Self::Transformation => write!(f, "Transformation"), - Self::Numerical => write!(f, "Numerical"), + Self::Simple => write!(f, "Simple"), } } } @@ -27,10 +21,7 @@ impl TryFrom<isize> for ExerciseKind { fn try_from(value: isize) -> Result<Self, Self::Error> { match value { - 0 => Ok(Self::Pensum), - 1 => Ok(Self::Translation), - 2 => Ok(Self::Transformation), - 3 => Ok(Self::Numerical), + 0 => Ok(Self::Simple), _ => Err("unknonwn exercise kind"), } } @@ -41,11 +32,8 @@ impl TryFrom<&str> for ExerciseKind { fn try_from(value: &str) -> Result<Self, Self::Error> { match value { - "pensum" => Ok(Self::Pensum), - "translation" => Ok(Self::Translation), - "transformation" => Ok(Self::Transformation), - "numerical" => Ok(Self::Numerical), - _ => Err("unknonwn exercise kind. Available: pensum, translation, transformation and numerical"), + "simple" => Ok(Self::Simple), + _ => Err("unknonwn exercise kind. Available: simple"), } } } |
