From dc8056cbf2d6ee54695171fefcbf26621ea2251e Mon Sep 17 00:00:00 2001 From: Max Audron Date: Tue, 7 Jun 2022 12:28:18 +0200 Subject: replace structopt with clap 3 --- src/config/args.rs | 13 ++++++++----- src/main.rs | 4 ++-- 2 files changed, 10 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/config/args.rs b/src/config/args.rs index 1b0683d..9c0973f 100644 --- a/src/config/args.rs +++ b/src/config/args.rs @@ -1,18 +1,21 @@ -use structopt::StructOpt; +use clap::{Parser, Subcommand, ArgEnum}; -#[derive(StructOpt, Clone, Debug)] +#[derive(Parser, Clone, Debug)] +#[clap( + override_usage("gtree [SCOPE]") +)] /// Sync Gitlab Trees pub struct Args { - #[structopt(subcommand)] + #[clap(subcommand)] pub command: Commands, /// Only operate on this subtree + #[clap(global = true)] pub scope: Option, } #[derive(PartialEq, Clone, Debug)] -#[derive(StructOpt)] -#[structopt(about = "the stupid content tracker")] +#[derive(Subcommand)] pub enum Commands { /// Download new repositories and delete old ones, also update Sync, diff --git a/src/main.rs b/src/main.rs index 748f50d..2a6592e 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,5 +1,5 @@ use anyhow::{Context, Result}; -use structopt::StructOpt; +use clap::Parser; use derivative::Derivative; use tracing::{debug, info, metadata::LevelFilter, trace, Level}; @@ -26,7 +26,7 @@ struct GTree { impl GTree { pub async fn new() -> Result { - let args = config::args::Args::from_args(); + let args = config::args::Args::parse(); let figment = config::Config::figment()?; let config: config::Config = figment.extract()?; -- cgit v1.2.3