1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
extern crate proc_macro;
extern crate proc_macro2;
mod cmd;
mod helpers;
mod resp;
mod urc;
use crate::proc_macro::TokenStream;
use quote::quote;
#[proc_macro_derive(ATATResp, attributes(at_arg))]
pub fn derive_atat_resp(input: TokenStream) -> TokenStream {
resp::atat_resp(syn::parse(input).expect("Failed to parse input stream!"))
}
#[proc_macro_derive(ATATUrc, attributes(at_urc))]
pub fn derive_atat_urc(input: TokenStream) -> TokenStream {
urc::atat_urc(syn::parse(input).expect("Failed to parse input stream!"))
}
#[proc_macro_derive(ATATEnum, attributes(at_arg))]
pub fn derive_atat_enum(_input: TokenStream) -> TokenStream {
TokenStream::from(quote! {})
}
#[proc_macro_derive(ATATCmd, attributes(at_cmd, at_arg))]
pub fn derive_atat_cmd(input: TokenStream) -> TokenStream {
cmd::atat_cmd(syn::parse(input).expect("Failed to parse input stream!"))
}