mirror of
https://github.com/azur1s/bobbylisp.git
synced 2024-10-16 02:37:40 -05:00
34 lines
780 B
Rust
34 lines
780 B
Rust
use std::path::PathBuf;
|
|
use clap::{ Parser, Subcommand };
|
|
|
|
const VERSION: &str = env!("CARGO_PKG_VERSION");
|
|
|
|
/// Hazure compiler
|
|
#[derive(Parser, Debug)]
|
|
#[clap(
|
|
version = VERSION,
|
|
long_about = None)]
|
|
pub struct Args {
|
|
#[clap(subcommand)]
|
|
pub options: Options,
|
|
}
|
|
|
|
#[derive(Subcommand, Debug)]
|
|
pub enum Options {
|
|
#[clap(about = "Compile an input file.")]
|
|
Compile {
|
|
/// The input file to compile
|
|
#[clap(parse(from_os_str))]
|
|
input: PathBuf,
|
|
/// Print parsed AST and exit (for debugging)
|
|
#[clap(short, long)]
|
|
ast: bool,
|
|
/// Log process
|
|
#[clap(short, long)]
|
|
log: bool,
|
|
/// Output file path
|
|
#[clap(short, long, parse(from_os_str))]
|
|
output: Option<PathBuf>,
|
|
},
|
|
}
|