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
2022-03-25 12:51:37 +07:00

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>,
},
}