use anyhow::Result;
use clap::Parser;
use std::path::PathBuf;
use markdown_code_runner::update_markdown_file;
#[derive(Parser, Debug)]
#[command(name = "markdown-code-runner")]
#[command(author, version, about, long_about = None)]
struct Args {
input: PathBuf,
#[arg(short, long)]
output: Option<PathBuf>,
#[arg(short = 'd', long)]
verbose: bool,
#[arg(long)]
no_backtick_standardize: bool,
#[arg(short, long)]
standardize: bool,
#[arg(short = 'n', long)]
no_execute: bool,
}
fn main() -> Result<()> {
let args = Args::parse();
let output_filepath = args.output.as_deref();
let backtick_standardize = if args.no_backtick_standardize {
false
} else {
args.output.is_some()
};
update_markdown_file(
&args.input,
output_filepath,
args.verbose,
backtick_standardize,
!args.no_execute,
args.standardize,
)
}