aiken/crates/aiken-project/src/options.rs

40 lines
818 B
Rust

use std::path::PathBuf;
use aiken_lang::ast::Tracing;
pub struct Options {
pub code_gen_mode: CodeGenMode,
pub tracing: Tracing,
pub env: Option<String>,
pub blueprint_path: PathBuf,
}
impl Default for Options {
fn default() -> Self {
Self {
code_gen_mode: CodeGenMode::NoOp,
tracing: Tracing::silent(),
env: None,
blueprint_path: PathBuf::from("plutus.json"),
}
}
}
pub enum CodeGenMode {
Test {
match_tests: Option<Vec<String>>,
verbose: bool,
exact_match: bool,
seed: u32,
property_max_success: usize,
},
Build(bool),
Benchmark {
match_benchmarks: Option<Vec<String>>,
exact_match: bool,
seed: u32,
max_size: usize,
},
NoOp,
}