Add ArgGroup for output options
This commit is contained in:
parent
6cdc5093c4
commit
b5f97a83c9
2 changed files with 11 additions and 10 deletions
|
@ -122,15 +122,7 @@ fn list(id: &str, rt: &Runtime) {
|
||||||
let sepp_out = scmd.is_present("sep");
|
let sepp_out = scmd.is_present("sep");
|
||||||
let mut comm_out = scmd.is_present("commasep");
|
let mut comm_out = scmd.is_present("commasep");
|
||||||
|
|
||||||
let flags = vec![json_out, line_out, comm_out, sepp_out];
|
if !vec![json_out, line_out, comm_out, sepp_out].iter().any(|v| *v) {
|
||||||
|
|
||||||
if flags.iter().filter(|x| **x).count() > 1 {
|
|
||||||
// More than one flag passed
|
|
||||||
info!("Cannot do more than one thing");
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
if !flags.iter().any(|v| *v) {
|
|
||||||
// None of the flags passed, go to default
|
// None of the flags passed, go to default
|
||||||
comm_out = true;
|
comm_out = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
use clap::{Arg, App, SubCommand};
|
use clap::{Arg, App, ArgGroup, SubCommand};
|
||||||
|
|
||||||
pub fn build_ui<'a>(app: App<'a, 'a>) -> App<'a, 'a> {
|
pub fn build_ui<'a>(app: App<'a, 'a>) -> App<'a, 'a> {
|
||||||
app.arg(Arg::with_name("id")
|
app.arg(Arg::with_name("id")
|
||||||
|
@ -59,6 +59,15 @@ pub fn build_ui<'a>(app: App<'a, 'a>) -> App<'a, 'a> {
|
||||||
.takes_value(true)
|
.takes_value(true)
|
||||||
.required(false)
|
.required(false)
|
||||||
.help("Seperated by string"))
|
.help("Seperated by string"))
|
||||||
|
|
||||||
|
.group(ArgGroup::with_name("list-group")
|
||||||
|
.args(&[
|
||||||
|
"json",
|
||||||
|
"linewise",
|
||||||
|
"commasep",
|
||||||
|
"sep",
|
||||||
|
])
|
||||||
|
.required(true))
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue