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}