shelle-macros 0.1.0

Proc macros for shelle
Documentation
use proc_macro_error2::proc_macro_error;
use quote::quote;

mod lexer;
mod parser;

#[proc_macro]
#[proc_macro_error]
pub fn exec(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
    let script = lexer::Lexer::new(input.into()).scan().parse();
    quote!(#script.exec()).into()
}

#[proc_macro]
#[proc_macro_error]
pub fn eval(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
    let script = lexer::Lexer::new(input.into()).scan().parse();
    quote!(#script.eval()).into()
}