Skip to content

Commit

Permalink
fix(derive): Read CARGO_PKG_NAME at runtime
Browse files Browse the repository at this point in the history
This was broken in clap-rs#4168
  • Loading branch information
epage committed Sep 16, 2022
1 parent 71cdd24 commit 417f1a9
Showing 1 changed file with 4 additions and 9 deletions.
13 changes: 4 additions & 9 deletions clap_derive/src/derives/parser.rs
Expand Up @@ -29,6 +29,7 @@ use crate::item::Name;

pub fn derive_parser(input: &DeriveInput) -> TokenStream {
let ident = &input.ident;
let pkg_name = std::env::var("CARGO_PKG_NAME").ok().unwrap_or_default();

match input.data {
Data::Struct(DataStruct {
Expand All @@ -37,9 +38,7 @@ pub fn derive_parser(input: &DeriveInput) -> TokenStream {
}) => {
dummies::parser_struct(ident);

let name = Name::Assigned(quote!(std::env::var("CARGO_PKG_NAME")
.ok()
.unwrap_or_default()));
let name = Name::Assigned(quote!(#pkg_name));
let item = Item::from_args_struct(input, name);
let fields = fields
.named
Expand All @@ -57,9 +56,7 @@ pub fn derive_parser(input: &DeriveInput) -> TokenStream {
}) => {
dummies::parser_struct(ident);

let name = Name::Assigned(quote!(std::env::var("CARGO_PKG_NAME")
.ok()
.unwrap_or_default()));
let name = Name::Assigned(quote!(#pkg_name));
let item = Item::from_args_struct(input, name);
let fields = Punctuated::<Field, Comma>::new();
let fields = fields
Expand All @@ -74,9 +71,7 @@ pub fn derive_parser(input: &DeriveInput) -> TokenStream {
Data::Enum(ref e) => {
dummies::parser_enum(ident);

let name = Name::Assigned(quote!(std::env::var("CARGO_PKG_NAME")
.ok()
.unwrap_or_default()));
let name = Name::Assigned(quote!(#pkg_name));
let item = Item::from_subcommand_enum(input, name);
let variants = e
.variants
Expand Down

0 comments on commit 417f1a9

Please sign in to comment.