]> git.r.bdr.sh - rbdr/blog/blobdiff - src/command/help.rs
Add help
[rbdr/blog] / src / command / help.rs
index 9b98393d0c49872d8831b7578bad8dfa6e530fad..628fd5aa81a25a5371de0cfc74ab81e22f6f2c3e 100644 (file)
@@ -1,4 +1,6 @@
+use std::env::args;
 use std::io::Result;
+use super::available_commands;
 
 pub struct Help;
 
@@ -13,8 +15,16 @@ impl super::Command for Help {
         vec![]
     }
 
-    fn execute(&self, input: Option<&String>) -> Result<()> {
-        println!("Help: {:?}!", input);
+    fn execute(&self, _: Option<&String>) -> Result<()> {
+        let arguments: Vec<String> = args().collect();
+        let app_name = arguments.get(0).map_or("blog", |s| s.as_str());
+        let commands = available_commands();
+        println!("Usage:");
+        println!("");
+        for command in commands {
+            print!("{} {} ", app_name, command.command());
+            println!("{}", command.help());
+        }
         return Ok(())
     }