doku-derive 0.21.1

A framework for building documentation (internal macro)
Documentation
mod expand_enum;
mod expand_field;
mod expand_fields;
mod expand_struct;
mod expand_variant;
mod expand_variants;
mod utils;

use self::{
    expand_enum::expand_enum, expand_field::expand_field,
    expand_fields::expand_fields, expand_struct::expand_struct,
    expand_variant::expand_variant, expand_variants::expand_variants, utils::*,
};
use crate::prelude::*;

pub fn expand(input: &syn::DeriveInput) -> Result<TokenStream2> {
    match &input.data {
        syn::Data::Struct(data) => expand_struct(input, data),
        syn::Data::Enum(data) => expand_enum(input, data),
        syn::Data::Union(_) => Err(syn::Error::new_spanned(
            &input.ident,
            "unions are not supported",
        )
        .into()),
    }
}