aboutsummaryrefslogtreecommitdiff
path: root/crates/cli/src/exercises.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/cli/src/exercises.rs')
-rw-r--r--crates/cli/src/exercises.rs17
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));
}