50 lines
1.7 KiB
Rust
50 lines
1.7 KiB
Rust
use clap::Command;
|
|
|
|
mod subcommands;
|
|
|
|
mod commands;
|
|
mod utils;
|
|
mod services;
|
|
mod global;
|
|
mod store;
|
|
|
|
fn main() {
|
|
let app = Command::new("Nextsync")
|
|
.version("1.0")
|
|
.author("grimhilt")
|
|
.about("A git-line command line tool to interact with nextcloud")
|
|
.subcommands([
|
|
subcommands::clone::create(),
|
|
subcommands::init::create(),
|
|
subcommands::status::create(),
|
|
subcommands::add::create(),
|
|
subcommands::push::create(),
|
|
subcommands::reset::create(),
|
|
subcommands::remote::create(),
|
|
subcommands::config::create(),
|
|
subcommands::remote_diff::create(),
|
|
subcommands::pull::create(),
|
|
subcommands::credential::create(),
|
|
]);
|
|
// .setting(clap::AppSettings::SubcommandRequiredElseHelp);
|
|
|
|
let matches = app.get_matches();
|
|
|
|
match matches.subcommand() {
|
|
Some(("init", args)) => subcommands::init::handler(args),
|
|
Some(("status", args)) => subcommands::status::handler(args),
|
|
Some(("add", args)) => subcommands::add::handler(args),
|
|
Some(("reset", _)) => commands::reset::reset(),
|
|
Some(("clone", args)) => subcommands::clone::handler(args),
|
|
Some(("push", _)) => commands::push::push(),
|
|
Some(("config", args)) => subcommands::config::handler(args),
|
|
Some(("remote-diff", args)) => subcommands::remote_diff::handler(args),
|
|
Some(("pull", args)) => subcommands::pull::handler(args),
|
|
Some(("remote", args)) => subcommands::remote::handler(args),
|
|
Some(("credential", args)) => subcommands::credential::handler(args),
|
|
Some((_, _)) => {},
|
|
None => {},
|
|
};
|
|
}
|
|
|