1use crate::telemetry::CoverageMode;
2use aiken_lang::ast::Tracing;
3use std::path::PathBuf;
4
5pub struct Options {
6 pub code_gen_mode: CodeGenMode,
7 pub tracing: Tracing,
8 pub env: Option<String>,
9 pub blueprint_path: PathBuf,
10}
11
12impl Default for Options {
13 fn default() -> Self {
14 Self {
15 code_gen_mode: CodeGenMode::NoOp,
16 tracing: Tracing::silent(),
17 env: None,
18 blueprint_path: PathBuf::from("plutus.json"),
19 }
20 }
21}
22
23pub enum CodeGenMode {
24 Test {
25 match_tests: Option<Vec<String>>,
26 verbose: bool,
27 exact_match: bool,
28 seed: u32,
29 property_max_success: usize,
30 coverage_mode: CoverageMode,
31 plain_numbers: bool,
32 },
33 Build(bool),
34 Benchmark {
35 match_benchmarks: Option<Vec<String>>,
36 exact_match: bool,
37 seed: u32,
38 max_size: usize,
39 },
40 NoOp,
41}