firefly-toml 0.1.0

Rust macro for statically parsing firefly.toml
Documentation
#![deny(clippy::pedantic)]
#![allow(clippy::wildcard_imports)]

mod config;
#[cfg(test)]
mod tests;

use config::*;

#[proc_macro]
#[expect(clippy::missing_panics_doc)]
pub fn import(item: proc_macro::TokenStream) -> proc_macro::TokenStream {
    if !item.is_empty() {
        return r#"compile_error!("firefly_import_toml does not take any arguments");"#
            .parse()
            .unwrap();
    }
    let config = match load_config() {
        Ok(value) => value,
        Err(err) => return err,
    };
    let mut s = String::new();
    write_badges(config.badges.unwrap_or_default(), &mut s);
    write_cheats(config.cheats.unwrap_or_default(), &mut s);
    write_boards(config.boards.unwrap_or_default(), &mut s);

    s.parse().unwrap()
}