2026-08-05 11:21:25 -04:00
|
|
|
use clap::{Args, Parser, Subcommand};
|
2026-08-08 23:50:04 -04:00
|
|
|
use std::path::PathBuf;
|
2026-08-05 11:21:25 -04:00
|
|
|
|
2026-08-07 18:16:03 -04:00
|
|
|
#[derive(Args)]
|
|
|
|
|
pub(crate) struct QueryArgs {
|
|
|
|
|
#[arg(short, long, value_name = "DATASET PATH")]
|
|
|
|
|
pub(crate) dataset_path: PathBuf,
|
|
|
|
|
|
|
|
|
|
#[arg(short, long, value_name = "QUERY PATH")]
|
|
|
|
|
pub(crate) query_path: PathBuf,
|
|
|
|
|
}
|
|
|
|
|
|
2026-08-05 11:21:25 -04:00
|
|
|
#[derive(Args)]
|
|
|
|
|
pub(crate) struct SearchArgs {
|
|
|
|
|
#[arg(short, long, value_name = "DOC TYPE")]
|
|
|
|
|
pub(crate) discriminant: Option<u64>,
|
|
|
|
|
|
|
|
|
|
#[arg(value_name = "QUERY")]
|
|
|
|
|
pub(crate) query: String,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#[derive(Subcommand)]
|
|
|
|
|
pub(crate) enum Command {
|
2026-08-07 18:16:03 -04:00
|
|
|
Query(QueryArgs),
|
2026-08-05 11:21:25 -04:00
|
|
|
Search(SearchArgs),
|
|
|
|
|
Reindex,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#[derive(Parser)]
|
|
|
|
|
#[clap(version, long_about = None)]
|
|
|
|
|
pub(crate) struct AppArgs {
|
|
|
|
|
#[command(subcommand)]
|
|
|
|
|
pub(crate) command: Option<Command>,
|
2026-08-08 23:50:04 -04:00
|
|
|
}
|