use quote::quote; use quote::ToTokens; pub fn to_ident(name: &str) -> proc_macro2::Ident { syn::Ident::new(name, proc_macro2::Span::call_site()) } pub fn add_docs<T: ToTokens>(docs: &Option<String>, stream: T) -> proc_macro2::TokenStream { if let Some(docs) = docs { quote! { #[doc = #docs] #stream } } else { quote! { #stream } } }