diff options
Diffstat (limited to 'src/cli.rs')
-rw-r--r-- | src/cli.rs | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/src/cli.rs b/src/cli.rs new file mode 100644 index 0000000..4df70fa --- /dev/null +++ b/src/cli.rs @@ -0,0 +1,46 @@ +use clap::crate_authors; +use clap::crate_version; +use clap::App; +use clap::Arg; + +pub fn app<'a>() -> App<'a> { + App::new("distrox") + .author(crate_authors!()) + .version(crate_version!()) + .about("Distributed social network") + + .subcommand(App::new("create-profile") + .author(crate_authors!()) + .version(crate_version!()) + .about("Create a new profile") + + .arg(Arg::with_name("content") + .index(1) + .multiple(false) + .takes_value(true) + .value_name("CONTENT") + .help("The text posting as first profile content") + ) + ) + + .subcommand(App::new("post") + .author(crate_authors!()) + .version(crate_version!()) + .about("Post to a profile") + .arg(Arg::with_name("head") + .index(1) + .multiple(false) + .takes_value(true) + .value_name("HEAD") + .help("Post with this HEAD as parent") + ) + + .arg(Arg::with_name("content") + .index(2) + .multiple(false) + .takes_value(true) + .value_name("TEXT") + .help("Post this TEXT as text/text") + ) + ) +} |