tex-fmt 0.2.1

LaTeX formatter written in Rust
use clap::Parser;
use log::Level::Error;
#[allow(unused_imports)]
use rstest::rstest;
#[allow(unused_imports)]
use rstest_reuse::{self, *};
use std::fs;

const TAB: i8 = 2;

mod colors;
mod comments;
mod format;
mod ignore;
mod indent;
mod leave;
mod logging;
mod parse;
mod regexes;
mod subs;
mod wrap;
mod write;
use crate::format::*;
use crate::logging::*;
use crate::parse::*;
use crate::write::*;

#[cfg(test)]
mod tests;

fn main() {
    let mut args = Cli::parse();
    args.resolve();
    init_logger(&args);

    for filename in &args.filenames {
        let mut logs = Vec::<Log>::new();
        let extension_valid = check_extension_valid(filename);
        if extension_valid {
            let file = fs::read_to_string(filename).unwrap();
            let new_file = format_file(&file, filename, &args, &mut logs);
            if args.print {
                println!("{}", &new_file);
            } else {
                write_file(filename, &new_file);
            }
        } else {
            record_log(
                &mut logs,
                Error,
                None,
                filename.to_string(),
                None,
                None,
                "File type invalid.".to_string(),
            );
        };

        print_logs(&args, logs);
    }
}