1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
//! Elvis derive macros
#![warn(missing_docs)]
extern crate proc_macro;

mod node;
mod page;

use proc_macro::TokenStream;

/// Basic elvis attr macro
#[proc_macro_attribute]
pub fn page(_attr: TokenStream, item: TokenStream) -> TokenStream {
    page::parse(_attr, item)
}

/// Derive `Into<Node>`
#[proc_macro_derive(IntoNode)]
pub fn node(input: TokenStream) -> TokenStream {
    node::parse(input)
}