s_crap/commands/
mod.rs

1mod code;
2mod eval;
3
4pub use code::*;
5pub use eval::*;
6
7use crate::cli::*;
8use clap::{crate_description, crate_version, App, AppSettings::*, ArgMatches};
9
10pub struct Main;
11impl<'c> CLI<'c> for Main {
12	const NAME: &'c str = "Statecharts Rhapsody";
13	const USAGE: &'c str = "";
14
15	fn command<'s: 'c>() -> App<'c, 's> {
16		let cmd = App::new(Self::NAME);
17		cmd.settings(&[VersionlessSubcommands, SubcommandRequiredElseHelp])
18	}
19
20	fn additional_usage<'s>(cmd: App<'s, 'c>) -> App<'s, 'c> {
21		cmd.version(crate_version!()).about(crate_description!())
22	}
23
24	fn invoke(_matches: &ArgMatches) -> Result<()> {
25		Ok(())
26	}
27}