ts_quote_macros 0.1.0

Proc macro implementations for ts_quote
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use crate::parsing::ParseContext;
use proc_macro2::TokenStream;
use quote::quote;
use syn::Result;

pub fn macro_impl(input: TokenStream) -> Result<TokenStream> {
    let mut parse_context = ParseContext::new("0".to_string(), input);
    parse_context.parse();

    let raw_string = &parse_context.format_string();
    let substitution_mappings = parse_context.substitution_mappings();

    println!("Raw string: {}", raw_string);

    Ok(quote! {
        ts_quote::TS::from_source(format!(#raw_string, #substitution_mappings))
    })
}