use clap::{Parser, Subcommand};
use radicle::node::Alias;
const ABOUT: &str = "Manage your local Radicle configuration";
const LONG_ABOUT: &str = r#"
If no argument is specified, prints the current radicle configuration as JSON.
To initialize a new configuration file, use `rad config init`.
"#;
#[derive(Debug, Parser)]
#[command(about = ABOUT, long_about = LONG_ABOUT, disable_version_flag = true)]
pub struct Args {
#[command(subcommand)]
pub(crate) command: Option<Command>,
}
#[derive(Subcommand, Debug)]
#[group(multiple = false)]
pub(crate) enum Command {
Show,
Init {
#[arg(long)]
alias: Alias,
},
Edit,
Get {
key: String,
},
Schema,
Set {
key: String,
value: String,
},
Unset {
key: String,
},
Push {
key: String,
value: String,
},
Remove {
key: String,
value: String,
},
}