lvbitfile2rust_macros/lib.rs
1extern crate proc_macro;
2
3use proc_macro::TokenStream;
4use quote::quote;
5
6#[proc_macro]
7pub fn lvbitfile2rust(item: TokenStream) -> TokenStream {
8 let input = syn::parse_macro_input!(item as syn::LitStr);
9 match lvbitfile2rust::codegen(input.value()) {
10 Ok(tokens) => tokens,
11 Err(e) => {
12 let err_string = e.to_string();
13 quote! {
14 compile_error!(
15 #err_string
16 );
17 }
18 }
19 }
20 .into()
21}