use clap::Subcommand;
#[derive(Subcommand)]
pub enum TemplatesSubcommand {
List {},
Show {
name: String,
},
Use {
name: String,
#[clap(short, long)]
output: Option<String>,
#[clap(long)]
setup: bool,
},
}
#[derive(Subcommand)]
pub enum TelemetryAction {
Status {},
Enable {},
Disable {},
SetEndpoint {
url: String,
},
Test {},
Preview {},
}
#[derive(Subcommand)]
pub enum ServicesAction {
Start {
#[clap(long)]
foreground: bool,
},
Stop {},
Status {},
Restart {
#[clap(long)]
foreground: bool,
},
}
#[derive(Subcommand)]
pub enum TeamAction {
Add {
name: String,
url: String,
#[clap(short, long)]
description: Option<String>,
},
List {},
Browse {
source: String,
},
Sync {
source: Option<String>,
},
Remove {
name: String,
},
Init {
#[clap(long)]
from: String,
#[clap(short, long, default_value = "./jarvy.toml")]
output: String,
},
}
#[derive(Subcommand)]
pub enum LockAction {
Generate {
#[clap(short, long, default_value = "./jarvy.toml")]
file: String,
#[clap(short, long, default_value = "./jarvy.lock")]
output: String,
},
Status {
#[clap(short, long, default_value = "./jarvy.lock")]
lock_file: String,
#[clap(short, long)]
verbose: bool,
},
Verify {
#[clap(short, long, default_value = "./jarvy.lock")]
lock_file: String,
#[clap(short = 'F', long = "format", default_value = "pretty")]
output_format: String,
},
}
#[derive(Subcommand)]
pub enum ConfigAction {
Show {
#[clap(short, long, default_value = "./jarvy.toml")]
file: String,
#[clap(long)]
resolved: bool,
#[clap(long)]
extends_chain: bool,
#[clap(short = 'F', long = "format", default_value = "toml")]
output_format: String,
},
Refresh {
#[clap(short, long, default_value = "./jarvy.toml")]
file: String,
#[clap(long)]
force: bool,
},
}
#[derive(Subcommand)]
pub enum UpdateSubcommand {
Check {
#[clap(long)]
channel: Option<String>,
},
History {},
Config {},
Enable {},
Disable {},
}
#[derive(Subcommand)]
pub enum DriftAction {
Check {
#[clap(short = 'F', long = "format", default_value = "pretty")]
output_format: String,
},
Status {
#[clap(short, long)]
verbose: bool,
},
Accept {
#[clap(long)]
tools: Option<String>,
},
Fix {
#[clap(long)]
dry_run: bool,
#[clap(long)]
force: bool,
},
}
#[derive(Clone, Subcommand)]
pub enum LogsAction {
View {
#[clap(short = 'n', long, default_value = "100")]
lines: usize,
#[clap(short, long)]
level: Option<String>,
#[clap(short, long)]
grep: Option<String>,
#[clap(short = 'F', long = "format", default_value = "text")]
output_format: String,
},
Stats {},
Clean {
#[clap(long)]
all: bool,
#[clap(long)]
dry_run: bool,
},
Config {},
}
#[derive(Clone, Subcommand)]
pub enum TicketAction {
Create {
#[clap(short, long)]
tool: Option<String>,
#[clap(short = 'n', long, default_value = "500")]
logs: usize,
#[clap(short, long)]
output: Option<String>,
#[clap(long)]
dry_run: bool,
},
Show {
ticket: String,
},
List {},
Clean {
#[clap(long, default_value = "30")]
older_than: u32,
},
}