summaryrefslogtreecommitdiffstats
path: root/config_macros.rs
diff options
context:
space:
mode:
authorManos Pitsidianakis <el13635@mail.ntua.gr>2020-10-11 00:32:55 +0300
committerManos Pitsidianakis <el13635@mail.ntua.gr>2020-10-11 18:11:04 +0300
commit9ce62c735a80a5168c9d5982fe8ae9ac0e250fe0 (patch)
treed5ab8f3be917cfe8f4b49482efa94ab725f38ba6 /config_macros.rs
parent39fab67523e6785f23f36e44f36681476b68aae4 (diff)
compose: add key selection state for gpg operations
Closes #81
Diffstat (limited to 'config_macros.rs')
-rw-r--r--config_macros.rs10
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 {