use super::super::WorkspaceFlags;
use clap::Subcommand;
use std::path::PathBuf;
#[derive(clap::Args)]
pub(crate) struct ProjectsCommand {
#[command(subcommand)]
pub(crate) subcmd: Option<ProjectsSubcommand>,
#[arg(long, global = true)]
pub(crate) json: bool,
#[arg(long, global = true)]
pub(crate) include_missing: bool,
}
#[derive(Subcommand)]
pub(crate) enum ProjectsSubcommand {
List,
}
#[derive(clap::Args)]
#[command(args_conflicts_with_subcommands = true)]
pub(crate) struct SearchCommand {
#[command(subcommand)]
pub(crate) subcmd: Option<SearchMaintenanceCommand>,
pub(crate) query: Option<String>,
#[arg(long)]
pub(crate) since: Option<String>,
#[arg(long)]
pub(crate) agent: Option<String>,
#[arg(long)]
pub(crate) kind: Option<String>,
#[arg(long, default_value_t = 50)]
pub(crate) limit: usize,
#[command(flatten)]
pub(crate) ws: WorkspaceFlags,
}
#[derive(Subcommand)]
pub(crate) enum SearchMaintenanceCommand {
Reindex {
#[arg(long)]
workspace: Option<PathBuf>,
#[arg(long, conflicts_with = "workspace")]
project: Option<String>,
},
}