diff options
| author | Miquel Sabaté Solà <mssola@mssola.com> | 2026-01-14 15:52:49 +0100 |
|---|---|---|
| committer | Miquel Sabaté Solà <mssola@mssola.com> | 2026-01-14 15:52:49 +0100 |
| commit | a6678f3c195b3eae1e1c977f2b4c418e48c404c5 (patch) | |
| tree | 3e4e2eedf35713be39ce912d89b1efc5057bc37f /crates/cli/src/exercises.rs | |
| parent | ebe882a4997f74a741f4e1b730a4dc942cad36ea (diff) | |
| download | mihi-a6678f3c195b3eae1e1c977f2b4c418e48c404c5.tar.gz mihi-a6678f3c195b3eae1e1c977f2b4c418e48c404c5.zip | |
Implement the 'ls' command for exercises
It was the only part missing for exercises, which was even listed in
-h/--help.
Signed-off-by: Miquel Sabaté Solà <mssola@mssola.com>
Diffstat (limited to 'crates/cli/src/exercises.rs')
| -rw-r--r-- | crates/cli/src/exercises.rs | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/crates/cli/src/exercises.rs b/crates/cli/src/exercises.rs index 518f604..39af6c3 100644 --- a/crates/cli/src/exercises.rs +++ b/crates/cli/src/exercises.rs @@ -172,6 +172,20 @@ fn edit(mut args: IntoIter<String>) -> i32 { } } +fn ls(mut args: IntoIter<String>) -> i32 { + if args.len() > 1 { + help(Some("error: exercises: too many filters")); + return 1; + } + + let exercises = mihi::select_by_title(args.next()).unwrap_or(vec![]); + for exe in exercises { + println!("- '{}'", exe); + } + + 0 +} + fn rm(mut args: IntoIter<String>) -> i32 { if args.len() > 1 { help(Some("error: exercises: too many filters")); @@ -232,6 +246,9 @@ pub fn run(args: Vec<String>) { "edit" => { std::process::exit(edit(it)); } + "ls" => { + std::process::exit(ls(it)); + } "rm" => { std::process::exit(rm(it)); } |
