notation_macro/
lib.rs

1// #![feature(proc_macro_diagnostic)]
2
3use notation_dsl::quote::ToTokens;
4use proc_macro::TokenStream;
5
6use notation_dsl::syn::parse_macro_input;
7
8use notation_dsl::prelude::*;
9
10#[proc_macro]
11pub fn entry(input: TokenStream) -> TokenStream {
12    parse_macro_input!(input as EntryDsl)
13        .into_token_stream()
14        .into()
15}
16
17#[proc_macro]
18pub fn slice(input: TokenStream) -> TokenStream {
19    parse_macro_input!(input as SliceDsl)
20        .into_token_stream()
21        .into()
22}
23
24#[proc_macro]
25pub fn track(input: TokenStream) -> TokenStream {
26    parse_macro_input!(input as TrackDsl)
27        .into_token_stream()
28        .into()
29}
30
31#[proc_macro]
32pub fn bar(input: TokenStream) -> TokenStream {
33    parse_macro_input!(input as BarDsl)
34        .into_token_stream()
35        .into()
36}
37
38#[proc_macro]
39pub fn section(input: TokenStream) -> TokenStream {
40    parse_macro_input!(input as SectionDsl)
41        .into_token_stream()
42        .into()
43}
44
45#[proc_macro]
46pub fn form(input: TokenStream) -> TokenStream {
47    parse_macro_input!(input as FormDsl)
48        .into_token_stream()
49        .into()
50}
51
52#[proc_macro]
53pub fn tab(input: TokenStream) -> TokenStream {
54    parse_macro_input!(input as TabDsl)
55        .into_token_stream()
56        .into()
57}