use clap::{Args, Parser, Subcommand}; use std::path::PathBuf; #[derive(Args)] pub(crate) struct QueryArgs { #[arg(short, long, value_name = "DATASET PATH")] pub(crate) dataset_path: Option, #[arg(short, long, value_name = "QUERY PATH")] pub(crate) query_path: PathBuf, #[arg(short, long, value_name = "BASE IRI")] pub(crate) base: Option, } #[derive(Args)] pub(crate) struct SearchArgs { #[arg(short, long, value_name = "DOC TYPE")] pub(crate) discriminant: Option, #[arg(value_name = "QUERY")] pub(crate) query: String, } #[derive(Subcommand)] pub(crate) enum Command { Query(QueryArgs), Search(SearchArgs), Reindex, } #[derive(Parser)] #[clap(version, long_about = None)] pub(crate) struct AppArgs { #[command(subcommand)] pub(crate) command: Option, }