thisslime-derive 0.5.1

Derive macros for thisslime.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use crate::tracing_error::derive;
use attribute_derive::FromAttr;

pub fn quote(input: &syn::DeriveInput) -> syn::Result<syn::ImplItemFn> {
    let span = derive::attrs::Span::from_attributes(&input.attrs)?;
    let level = span.level;
    let span_name = span.name(&input.ident);

    Ok(syn::parse_quote!(
        fn construct(&self) -> ::tracing::Span {
            ::tracing::span!(#level, #span_name)
        }
    ))
}