mirror of
https://github.com/Llewellynvdm/exa.git
synced 2024-11-23 12:32:00 +00:00
Add extra special error for --level
This commit is contained in:
parent
17657100b4
commit
93b17a6308
@ -190,6 +190,10 @@ pub enum Misfire {
|
|||||||
/// isn't present.
|
/// isn't present.
|
||||||
Useless(&'static str, bool, &'static str),
|
Useless(&'static str, bool, &'static str),
|
||||||
|
|
||||||
|
/// An option was given that does nothing when either of two other options
|
||||||
|
/// are not present.
|
||||||
|
Useless2(&'static str, &'static str, &'static str),
|
||||||
|
|
||||||
/// A numeric option was given that failed to be parsed as a number.
|
/// A numeric option was given that failed to be parsed as a number.
|
||||||
FailedParse(ParseIntError),
|
FailedParse(ParseIntError),
|
||||||
}
|
}
|
||||||
@ -210,6 +214,7 @@ impl fmt::Display for Misfire {
|
|||||||
Conflict(a, b) => write!(f, "Option --{} conflicts with option {}.", a, b),
|
Conflict(a, b) => write!(f, "Option --{} conflicts with option {}.", a, b),
|
||||||
Useless(a, false, b) => write!(f, "Option --{} is useless without option --{}.", a, b),
|
Useless(a, false, b) => write!(f, "Option --{} is useless without option --{}.", a, b),
|
||||||
Useless(a, true, b) => write!(f, "Option --{} is useless given option --{}.", a, b),
|
Useless(a, true, b) => write!(f, "Option --{} is useless given option --{}.", a, b),
|
||||||
|
Useless2(a, b1, b2) => write!(f, "Option --{} is useless without options --{} or --{}.", a, b1, b2),
|
||||||
FailedParse(ref e) => write!(f, "Failed to parse number: {}", e),
|
FailedParse(ref e) => write!(f, "Failed to parse number: {}", e),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -260,6 +265,9 @@ impl View {
|
|||||||
else if matches.opt_present("tree") {
|
else if matches.opt_present("tree") {
|
||||||
Err(Misfire::Useless("tree", false, "long"))
|
Err(Misfire::Useless("tree", false, "long"))
|
||||||
}
|
}
|
||||||
|
else if matches.opt_present("level") && !matches.opt_present("recurse") {
|
||||||
|
Err(Misfire::Useless2("level", "recurse", "tree"))
|
||||||
|
}
|
||||||
else if xattr::feature_implemented() && matches.opt_present("extended") {
|
else if xattr::feature_implemented() && matches.opt_present("extended") {
|
||||||
Err(Misfire::Useless("extended", false, "long"))
|
Err(Misfire::Useless("extended", false, "long"))
|
||||||
}
|
}
|
||||||
@ -630,4 +638,11 @@ mod test {
|
|||||||
assert_eq!(opts.unwrap_err(), Misfire::Useless("extended", false, "long"))
|
assert_eq!(opts.unwrap_err(), Misfire::Useless("extended", false, "long"))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn level_without_recurse_or_tree() {
|
||||||
|
let opts = Options::getopts(&[ "--level".to_string(), "69105".to_string() ]);
|
||||||
|
assert_eq!(opts.unwrap_err(), Misfire::Useless2("level", "recurse", "tree"))
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user