use clap::{arg, command, ArgMatches}; pub fn get_args() -> ArgMatches { command!() .about("Query markdown files") .arg(arg!([dir] "Directory to scan").required(true)) .arg(arg!(-j --json "Output result as JSON").required(false)) .arg( arg!(-l --limit "Limit number of results returned") .required(false) .default_value("0") .allow_negative_numbers(false), ) .arg( arg!(--offset "Offset results by a factor. Useful when used with --limit") .required(false) .allow_negative_numbers(false) .default_value("0"), ) .arg(arg!(-f --filter ... "Filter to apply to the documents").required(false)) .arg( arg!(-c --column ... "Specify output columns") .required(false) .default_value("file.title:Title"), ) .arg(arg!(-s --sortby "Sort results based on specified key").required(false)) .arg(arg!(-r --reverse "Reverse the results").required(false)) .get_matches() }