mirror of https://codeberg.org/topola/topola.git
style(specctra_derive): run cargo fmt over it also
This commit is contained in:
parent
eca42160f0
commit
36628d04ae
|
|
@ -1,6 +1,6 @@
|
||||||
use proc_macro::TokenStream;
|
use proc_macro::TokenStream;
|
||||||
use syn::{Attribute, DeriveInput, LitStr, Meta, Token};
|
|
||||||
use syn::punctuated::Punctuated;
|
use syn::punctuated::Punctuated;
|
||||||
|
use syn::{Attribute, DeriveInput, LitStr, Meta, Token};
|
||||||
|
|
||||||
mod read;
|
mod read;
|
||||||
mod write;
|
mod write;
|
||||||
|
|
@ -33,18 +33,16 @@ fn parse_attributes(attrs: &Vec<Attribute>) -> FieldType {
|
||||||
} else if path.is_ident("anon_vec") {
|
} else if path.is_ident("anon_vec") {
|
||||||
return FieldType::AnonymousVec;
|
return FieldType::AnonymousVec;
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
Meta::List(list) if list.path.is_ident("vec") => {
|
Meta::List(list) if list.path.is_ident("vec") => {
|
||||||
return FieldType::NamedVec(list
|
return FieldType::NamedVec(
|
||||||
.parse_args_with(
|
list.parse_args_with(Punctuated::<LitStr, Token![,]>::parse_terminated)
|
||||||
Punctuated::<LitStr, Token![,]>::parse_terminated
|
.expect("#[vec(...)] must contain a list of string literals")
|
||||||
)
|
.iter()
|
||||||
.expect("#[vec(...)] must contain a list of string literals")
|
.cloned()
|
||||||
.iter()
|
.collect(),
|
||||||
.cloned()
|
|
||||||
.collect()
|
|
||||||
);
|
);
|
||||||
},
|
}
|
||||||
_ => (),
|
_ => (),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -53,17 +53,17 @@ fn impl_field(field: &Field) -> TokenStream {
|
||||||
quote! {
|
quote! {
|
||||||
#name: tokenizer.read_value()?,
|
#name: tokenizer.read_value()?,
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
FieldType::AnonymousVec => {
|
FieldType::AnonymousVec => {
|
||||||
quote! {
|
quote! {
|
||||||
#name: tokenizer.read_array()?,
|
#name: tokenizer.read_array()?,
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
FieldType::NamedVec(valid_aliases) => {
|
FieldType::NamedVec(valid_aliases) => {
|
||||||
quote! {
|
quote! {
|
||||||
#name: tokenizer.read_array_with_alias(&[#(#valid_aliases),*])?,
|
#name: tokenizer.read_array_with_alias(&[#(#valid_aliases),*])?,
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
FieldType::NotSpecified => {
|
FieldType::NotSpecified => {
|
||||||
if let Path(type_path) = &field.ty {
|
if let Path(type_path) = &field.ty {
|
||||||
let segments = &type_path.path.segments;
|
let segments = &type_path.path.segments;
|
||||||
|
|
|
||||||
|
|
@ -51,18 +51,18 @@ fn impl_field(field: &Field) -> TokenStream {
|
||||||
quote! {
|
quote! {
|
||||||
writer.write_value(&self.#name)?;
|
writer.write_value(&self.#name)?;
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
FieldType::AnonymousVec => {
|
FieldType::AnonymousVec => {
|
||||||
quote! {
|
quote! {
|
||||||
writer.write_array(&self.#name)?;
|
writer.write_array(&self.#name)?;
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
FieldType::NamedVec(valid_aliases) => {
|
FieldType::NamedVec(valid_aliases) => {
|
||||||
let canonical_name = &valid_aliases[0];
|
let canonical_name = &valid_aliases[0];
|
||||||
quote! {
|
quote! {
|
||||||
writer.write_named_array(#canonical_name, &self.#name)?;
|
writer.write_named_array(#canonical_name, &self.#name)?;
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
FieldType::NotSpecified => {
|
FieldType::NotSpecified => {
|
||||||
if let Path(type_path) = &field.ty {
|
if let Path(type_path) = &field.ty {
|
||||||
let segments = &type_path.path.segments;
|
let segments = &type_path.path.segments;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue