Skip to main content

smplx_macros/
lib.rs

1#![warn(clippy::all, clippy::pedantic)]
2
3use proc_macro::TokenStream;
4
5#[proc_macro]
6pub fn include_simf(tokenstream: TokenStream) -> TokenStream {
7    let input = syn::parse_macro_input!(tokenstream as smplx_build::macros::parse::SynFilePath);
8
9    match smplx_build::macros::expand(&input) {
10        Ok(ts) => ts.into(),
11        Err(e) => e.to_compile_error().into(),
12    }
13}
14
15#[proc_macro_attribute]
16pub fn test(args: TokenStream, input: TokenStream) -> TokenStream {
17    let input = syn::parse_macro_input!(input as syn::ItemFn);
18
19    match smplx_test::macros::expand(args.into(), input) {
20        Ok(ts) => ts.into(),
21        Err(e) => e.to_compile_error().into(),
22    }
23}