diff options
Diffstat (limited to 'src/command/help.rs')
| -rw-r--r-- | src/command/help.rs | 14 |
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(()) } |