#![allow(dead_code)]

use clap::Parser;

mod args;
mod lexer;
mod location;

use args::Args;
// use display_tree::{CharSet, Style, StyleBuilder};
// use lox::{Lox, OutputStyle};
use lox::Lox;

fn main() -> anyhow::Result<()> {
    let Args { file } = Args::parse();
    let mut lox = Lox::new();
    // lox.options.output_style = OutputStyle::Tree(
    //     Style::default()
    //         .indentation(1)
    //         .char_set(CharSet::ASCII),
    // );
    if let Some(file) = file {
        lox.run_file(file)?;
    } else {
        lox.run_prompt()?;
    }

    Ok(())
}