use contractor::cmd::dump; use log::trace; use std::path::PathBuf; use structopt::StructOpt; fn main() -> anyhow::Result<()> { let opt = Opt::from_args(); trace!("opt: {:?}", opt); match opt { Opt::Dump { filename } => dump(&filename)?, } Ok(()) } #[derive(StructOpt, Debug)] enum Opt { Dump { #[structopt(parse(from_os_str))] filename: PathBuf, }, }