mirror of
https://github.com/Llewellynvdm/exa.git
synced 2025-01-14 17:19:56 +00:00
Extract 'bad argument' method
This commit is contained in:
parent
8b9f074d63
commit
534d3c3fa5
@ -343,7 +343,7 @@ impl OptionSet for SortField {
|
|||||||
"cr" | "created" => Ok(SortField::CreatedDate),
|
"cr" | "created" => Ok(SortField::CreatedDate),
|
||||||
"none" => Ok(SortField::Unsorted),
|
"none" => Ok(SortField::Unsorted),
|
||||||
"inode" => Ok(SortField::FileInode),
|
"inode" => Ok(SortField::FileInode),
|
||||||
field => Err(SortField::none(field))
|
field => Err(Misfire::bad_argument("sort", field))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -352,14 +352,6 @@ impl OptionSet for SortField {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl SortField {
|
|
||||||
|
|
||||||
/// How to display an error when the word didn't match with anything.
|
|
||||||
fn none(field: &str) -> Misfire {
|
|
||||||
Misfire::InvalidOptions(getopts::Fail::UnrecognizedOption(format!("--sort {}", field)))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
impl OptionSet for SizeFormat {
|
impl OptionSet for SizeFormat {
|
||||||
|
|
||||||
@ -418,7 +410,7 @@ impl OptionSet for TimeTypes {
|
|||||||
"mod" | "modified" => Ok(TimeTypes { accessed: false, modified: true, created: false }),
|
"mod" | "modified" => Ok(TimeTypes { accessed: false, modified: true, created: false }),
|
||||||
"acc" | "accessed" => Ok(TimeTypes { accessed: true, modified: false, created: false }),
|
"acc" | "accessed" => Ok(TimeTypes { accessed: true, modified: false, created: false }),
|
||||||
"cr" | "created" => Ok(TimeTypes { accessed: false, modified: false, created: true }),
|
"cr" | "created" => Ok(TimeTypes { accessed: false, modified: false, created: true }),
|
||||||
otherwise => Err(Misfire::InvalidOptions(getopts::Fail::UnrecognizedOption(format!("--time {}", otherwise)))),
|
otherwise => Err(Misfire::bad_argument("time", otherwise)),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -539,11 +531,20 @@ pub enum Misfire {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl Misfire {
|
impl Misfire {
|
||||||
|
|
||||||
/// The OS return code this misfire should signify.
|
/// The OS return code this misfire should signify.
|
||||||
pub fn error_code(&self) -> i32 {
|
pub fn error_code(&self) -> i32 {
|
||||||
if let Misfire::Help(_) = *self { 2 }
|
if let Misfire::Help(_) = *self { 2 }
|
||||||
else { 3 }
|
else { 3 }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// The Misfire that happens when an option gets given the wrong
|
||||||
|
/// argument. This has to use one of the `getopts` failure
|
||||||
|
/// variants--it’s meant to take just an option name, rather than an
|
||||||
|
/// option *and* an argument, but it works just as well.
|
||||||
|
pub fn bad_argument(option: &str, otherwise: &str) -> Misfire {
|
||||||
|
Misfire::InvalidOptions(getopts::Fail::UnrecognizedOption(format!("--{} {}", option, otherwise)))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl fmt::Display for Misfire {
|
impl fmt::Display for Misfire {
|
||||||
|
Loading…
Reference in New Issue
Block a user