X-Git-Url: https://git.r.bdr.sh/rbdr/blog/blobdiff_plain/d620665f6b2e1ae5db4c98a09e35bd63133ae87f..2f579cf4c0d8ff95af78103783c7ca8f951cc797:/src/command/help.rs 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 = 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(()) }