aboutsummaryrefslogtreecommitdiff
path: root/src/command/help.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/command/help.rs')
-rw-r--r--src/command/help.rs14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/command/help.rs b/src/command/help.rs
index 9b98393..628fd5a 100644
--- a/src/command/help.rs
+++ b/src/command/help.rs
@@ -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(())
}