hypershell-macro 0.1.0

Modular DSL for shellscripting in Rust
Documentation
1
2
3
4
5
6
7
8
9
10
11
use proc_macro::TokenStream;
use proc_macro2::TokenStream as TokenStream2;

mod expand;

#[proc_macro]
pub fn hypershell(body: TokenStream) -> TokenStream {
    let stream =
        expand::process_extended_token_tree(&mut TokenStream2::from(body).into_iter(), false);
    expand::expand_and_pipe(expand::ExtendedTokenStream { stream }).into()
}