My personal project and infrastructure archive
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
nomicon/apps/cassiopeia/src/bin/cass.rs

69 lines
2.6 KiB

use cassiopeia::{self as cass, meta};
use clap::{App, Arg, SubCommand};
fn main() {
let app = App::new(meta::NAME)
.version(meta::VERSION)
.about(meta::ABOUT)
.after_help("To learn more on how to use cassiopeia, check out the documentation \
at https://git.spacekookie.de/kookienomicon/tree/apps/cassiopeia
If you want to report a bug, please do so on my mailing list: lists.sr.ht/~spacekookie/public-inbox")
.author(meta::AUTHOR)
.max_term_width(120)
.setting(clap::AppSettings::SubcommandRequiredElseHelp)
.global_settings(&[
clap::AppSettings::DisableHelpSubcommand,
clap::AppSettings::VersionlessSubcommands,
])
.arg(
Arg::with_name(meta::ARG_FILE)
.short("f")
.long("file")
.help(meta::ARG_FILE_ABOUT)
.default_value("./time.cass")
.takes_value(true),
)
.subcommand(
SubCommand::with_name(meta::CMD_START)
.about(meta::CMD_START_ABOUT)
.arg(Arg::with_name(meta::ARG_ROUNDING).help(meta::ARG_ROUNDING_ABOUT)),
)
.subcommand(
SubCommand::with_name(meta::CMD_STOP)
.about(meta::CMD_STOP_ABOUT)
.arg(Arg::with_name(meta::ARG_ROUNDING).help(meta::ARG_ROUNDING_ABOUT)),
)
.subcommand(
SubCommand::with_name(meta::CMD_INVOICE)
.about(meta::CMD_INVOICE_ABOUT)
.arg(
Arg::with_name(meta::ARG_CLIENT)
.short("c")
.long("client")
.takes_value(true)
.help(meta::ARG_CLIENT_ABOUT),
)
.arg(
Arg::with_name(meta::ARG_PROJECT)
.short("p")
.long("project")
.takes_value(true)
.help(meta::ARG_PROJECT_ABOUT),
)
.arg(
Arg::with_name(meta::ARG_GEN_YAML)
.short("g")
.long("gen")
.help(meta::ARG_GEN_YAML_ABOUT),
)
.arg(
Arg::with_name(meta::ARG_CLIENT_DB)
.long("client-db")
.takes_value(true)
.help(meta::ARG_CLIENT_DB_ABOUT),
)
)
.get_matches();
let file = cass::load_file("/home/projects/clients/nyantec-nix-workshops/time.cass");
}