Skip to content

Commit 0308be7

Browse files
authored
Merge pull request #301 from dtolnay-contrib/clap
Parse agenda-generator args using clap instead of structopt
2 parents 52ff67b + bf7d9b5 commit 0308be7

File tree

2 files changed

+13
-15
lines changed

2 files changed

+13
-15
lines changed

tools/agenda-generator/Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ edition = "2018"
66

77
[dependencies]
88
chrono = { version = "0.4", features = ["serde"] }
9+
clap = { version = "4", features = ["derive"] }
10+
color-eyre = "0.6"
11+
itertools = "0.12"
912
reqwest = { version = "0.11", features = ["blocking", "json"] }
1013
serde = { version = "1.0", features = ["derive"] }
1114
serde_json = "1.0"
12-
itertools = "0.12"
13-
structopt = "0.3.21"
14-
color-eyre = "0.6"

tools/agenda-generator/src/cli.rs

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,21 @@
1-
use structopt::clap::arg_enum;
2-
use structopt::StructOpt;
1+
use clap::{Parser, ValueEnum};
32

4-
#[derive(Debug, StructOpt)]
3+
#[derive(Debug, Parser)]
54
pub struct Args {
6-
#[structopt(long, short, default_value = "LibsAPI", possible_values = &AgendaKind::variants())]
5+
#[clap(long, short, default_value = "LibsAPI")]
76
pub agenda: AgendaKind,
87
}
98

109
impl Args {
1110
pub fn from_args() -> Args {
12-
StructOpt::from_args()
11+
<Args as Parser>::parse()
1312
}
1413
}
1514

16-
arg_enum! {
17-
#[derive(Debug)]
18-
pub enum AgendaKind {
19-
Libs,
20-
LibsAPI,
21-
PGEH,
22-
}
15+
#[derive(Clone, Debug, ValueEnum)]
16+
#[clap(rename_all = "verbatim")]
17+
pub enum AgendaKind {
18+
Libs,
19+
LibsAPI,
20+
PGEH,
2321
}

0 commit comments

Comments
 (0)