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