1
1
Fork 0
mirror of https://github.com/azur1s/bobbylisp.git synced 2024-10-16 02:37:40 -05:00
bobbylisp/crates/main/src/args.rs

33 lines
783 B
Rust

use std::path::PathBuf;
use clap::{ Parser, Subcommand };
const VERSION: &str = env!("CARGO_PKG_VERSION");
/// Hades 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>,
},
}