1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
use proc_macro::TokenStream;
use quote::ToTokens;
use syn::__private::TokenStream2;
use crate::node::NodeBlock;
mod conditional;
mod execution;
mod node;
mod scope;
mod sub_tree;
#[macro_use]
mod optional_parse;
#[doc = include_str!("../README.md")]
#[proc_macro]
pub fn gxi(input: TokenStream) -> TokenStream {
let block = syn::parse_macro_input!(input as NodeBlock);
let mut tokens = TokenStream2::new();
block.to_tokens(&mut tokens);
tokens.into()
}