lwb-parser 0.1.7

parser framwork with automatically generated ASTs for the LWB project
Documentation
use crate::codegen::error::CodegenError;
use crate::codegen::FormattingFile;
use chrono::{DateTime, Local, Utc};
use std::io::Write;

fn write_header(file: &mut FormattingFile, _codegen_stamp: &str) -> Result<(), CodegenError> {
    write!(
        file,
        "\
#![allow(unused)]
#![allow(non_snake_case)]
#![allow(non_camel_case_types)]
#![allow(clippy::all)]
// |==========================================================|
// |      WARNING: THIS FILE IS AUTOMATICALLY GENERATED.      |
// |      CHANGES TO IT WILL BE DELETED WHEN REGENERATED.     |
// | IN GENERAL, THIS FILE SHOULD NOT BE MODIFIED IN ANY WAY. |
// |==========================================================|
"
    )?;

    Ok(())
}

pub fn write_headers(files: &mut [(&mut FormattingFile, &str)]) -> Result<(), CodegenError> {
    let now: DateTime<Local> = Local::now();
    let now_utc: DateTime<Utc> = Utc::now();
    let codegen_stamp = format!(
        "{} - {}",
        now.format("%d/%m/%Y %T %Z"),
        now_utc.format("%d/%m/%Y %T %Z")
    );

    for (file, _) in files.iter_mut() {
        write_header(file, &codegen_stamp)?;
    }

    Ok(())
}