idkthings_core_macros/
lib.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
mod entity;

#[macro_use]
extern crate quote;

use crate::entity::process_entity;
use proc_macro::TokenStream;
use syn::Item;

#[proc_macro_attribute]
pub fn entity(_attr: TokenStream, item: TokenStream) -> TokenStream {
    let item: Item = syn::parse(item).expect("failed to parse input as an item");

    let output = process_entity(item);

    output.into()
}