diff options
author | Manos Pitsidianakis <el13635@mail.ntua.gr> | 2020-10-11 00:32:55 +0300 |
---|---|---|
committer | Manos Pitsidianakis <el13635@mail.ntua.gr> | 2020-10-11 18:11:04 +0300 |
commit | 9ce62c735a80a5168c9d5982fe8ae9ac0e250fe0 (patch) | |
tree | d5ab8f3be917cfe8f4b49482efa94ab725f38ba6 /config_macros.rs | |
parent | 39fab67523e6785f23f36e44f36681476b68aae4 (diff) |
compose: add key selection state for gpg operations
Closes #81
Diffstat (limited to 'config_macros.rs')
-rw-r--r-- | config_macros.rs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/config_macros.rs b/config_macros.rs index a70fd1e3..e4c3ca5c 100644 --- a/config_macros.rs +++ b/config_macros.rs @@ -87,6 +87,14 @@ use super::*; } let override_ident: syn::Ident = format_ident!("{}Override", s.ident); let mut field_tokentrees = vec![]; + let mut attrs_tokens = vec![]; + for attr in &s.attrs { + if let Ok(syn::Meta::List(ml)) = attr.parse_meta() { + if ml.path.get_ident().is_some() && ml.path.get_ident().unwrap() == "cfg" { + attrs_tokens.push(attr); + } + } + } let mut field_idents = vec![]; for f in &s.fields { let ident = &f.ident; @@ -146,6 +154,7 @@ use super::*; //let fields = &s.fields; let literal_struct = quote! { + #(#attrs_tokens)* #[derive(Debug, Serialize, Deserialize, Clone)] #[serde(deny_unknown_fields)] pub struct #override_ident { @@ -153,6 +162,7 @@ use super::*; } + #(#attrs_tokens)* impl Default for #override_ident { fn default() -> Self { #override_ident { |