maslc 1.0.1

Maduka Authorization Specification Language (MASL) toolchain and runtime
use clap::Parser;

use cli::{Cli, Command};

mod cli;
mod commands;
mod diagnostics;

fn main() {
    let cli = Cli::parse();

    match cli.command {
        Command::Build { path, output } => commands::build::run(path, output),
        Command::Check { path } => commands::check::run(path),
        Command::Fmt { path, check, diff } => commands::fmt::run(path, check, diff),
        Command::Lint { path, config: _ } => commands::lint::run(path),
        Command::Lsp { port } => commands::lsp::run(port),
        Command::Explain { code } => commands::explain::run(code),
        Command::Doc { path, output } => commands::doc::run(path, output),
    }
}