use clap::Parser;
use std::error::Error;
use layout21converters::gds_serialization::{convert, ConvOptions};
#[derive(Parser)]
pub struct ProgramOptions {
#[arg(short = 'i', long, default_value = "")]
pub gds: String,
#[arg(short = 'f', long, default_value = "")]
pub fmt: String,
#[arg(short = 'o', long, default_value = "")]
pub out: String,
#[arg(short, long)]
pub verbose: bool,
}
impl Into<ConvOptions> for ProgramOptions {
fn into(self) -> ConvOptions {
ConvOptions {
gds: self.gds,
fmt: self.fmt,
out: self.out,
verbose: self.verbose,
}
}
}
pub fn main() -> Result<(), Box<dyn Error>> {
let options = ProgramOptions::parse();
convert(&options.into())
}